]> err.no Git - linux-2.6/blobdiff - fs/ocfs2/dlm/dlmdomain.c
ocfs2_dlm: Fix lockres ref counting bug
[linux-2.6] / fs / ocfs2 / dlm / dlmdomain.c
index 6087c4749feebf6b301e25d86a2ca8f797cd1672..dbbac184c261be180db1c68cce6bb6d5b81b9893 100644 (file)
@@ -138,8 +138,10 @@ static void dlm_unregister_domain_handlers(struct dlm_ctxt *dlm);
 
 void __dlm_unhash_lockres(struct dlm_lock_resource *lockres)
 {
-       hlist_del_init(&lockres->hash_node);
-       dlm_lockres_put(lockres);
+       if (!hlist_unhashed(&lockres->hash_node)) {
+               hlist_del_init(&lockres->hash_node);
+               dlm_lockres_put(lockres);
+       }
 }
 
 void __dlm_insert_lockres(struct dlm_ctxt *dlm,