]> Pileus Git - ~andy/linux/blobdiff - fs/dlm/lockspace.c
Merge tag 'iommu-updates-v3.11' of git://git.kernel.org/pub/scm/linux/kernel/git...
[~andy/linux] / fs / dlm / lockspace.c
index 2e99fb0c973776fe9f103f5f0d220d2e7aceb256..88556dc0458ee045659ed5a91875fb51d7ac2264 100644 (file)
@@ -796,7 +796,6 @@ static int release_lockspace(struct dlm_ls *ls, int force)
         */
 
        idr_for_each(&ls->ls_lkbidr, lkb_idr_free, ls);
-       idr_remove_all(&ls->ls_lkbidr);
        idr_destroy(&ls->ls_lkbidr);
 
        /*
@@ -884,17 +883,24 @@ int dlm_release_lockspace(void *lockspace, int force)
 void dlm_stop_lockspaces(void)
 {
        struct dlm_ls *ls;
+       int count;
 
  restart:
+       count = 0;
        spin_lock(&lslist_lock);
        list_for_each_entry(ls, &lslist, ls_list) {
-               if (!test_bit(LSFL_RUNNING, &ls->ls_flags))
+               if (!test_bit(LSFL_RUNNING, &ls->ls_flags)) {
+                       count++;
                        continue;
+               }
                spin_unlock(&lslist_lock);
                log_error(ls, "no userland control daemon, stopping lockspace");
                dlm_ls_stop(ls);
                goto restart;
        }
        spin_unlock(&lslist_lock);
+
+       if (count)
+               log_print("dlm user daemon left %d lockspaces", count);
 }