Whamcloud - gitweb
- remainder of rmdir changes
[fs/lustre-release.git] / lustre / llite / dcache.c
index 923f87b..cbe154b 100644 (file)
@@ -30,11 +30,14 @@ void ll_intent_release(struct dentry *de)
                 return;
         }
 
-        handle = (struct lustre_handle *)de->d_it->it_lock_handle;
-        lock = lustre_handle2object(handle);
-        CDEBUG(D_INFO, "calling ldlm_lock_decref(%p, %d)\n", lock,
-               de->d_it->it_lock_mode);
-        ldlm_lock_decref(lock, de->d_it->it_lock_mode);
+        if (de->d_it->it_lock_mode) {
+                handle = (struct lustre_handle *)de->d_it->it_lock_handle;
+                lock = lustre_handle2object(handle);
+                CDEBUG(D_INFO, "calling ldlm_lock_decref(%p, %d)\n", lock,
+                       de->d_it->it_lock_mode);
+                ldlm_lock_decref(lock, de->d_it->it_lock_mode);
+        }
+        de->d_it = NULL;
         EXIT;
 }