]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/ocfs2/dlm/dlmdomain.c
ocfs2/dlm: add DEREF_DONE message
[karo-tx-linux.git] / fs / ocfs2 / dlm / dlmdomain.c
index 2ee7fe747cea4408182aee7c45e8baa37ceaeae1..c73c68efdf67a3fd2e8f00bd41903ad31d8c7ed3 100644 (file)
@@ -132,10 +132,13 @@ static DECLARE_WAIT_QUEUE_HEAD(dlm_domain_events);
  *     - Message DLM_QUERY_NODEINFO added to allow online node removes
  * New in version 1.2:
  *     - Message DLM_BEGIN_EXIT_DOMAIN_MSG added to mark start of exit domain
+ * New in version 1.3:
+ *     - Message DLM_DEREF_LOCKRES_DONE added to inform non-master that the
+ *       refmap is cleared
  */
 static const struct dlm_protocol_version dlm_protocol = {
        .pv_major = 1,
-       .pv_minor = 2,
+       .pv_minor = 3,
 };
 
 #define DLM_DOMAIN_BACKOFF_MS 200
@@ -1853,7 +1856,13 @@ static int dlm_register_domain_handlers(struct dlm_ctxt *dlm)
                                        sizeof(struct dlm_exit_domain),
                                        dlm_begin_exit_domain_handler,
                                        dlm, NULL, &dlm->dlm_domain_handlers);
+       if (status)
+               goto bail;
 
+       status = o2net_register_handler(DLM_DEREF_LOCKRES_DONE, dlm->key,
+                                       sizeof(struct dlm_deref_lockres_done),
+                                       dlm_deref_lockres_done_handler,
+                                       dlm, NULL, &dlm->dlm_domain_handlers);
 bail:
        if (status)
                dlm_unregister_domain_handlers(dlm);