Whamcloud - gitweb
Disconnected dentry cannot be found with lookup, so we do not need
authorshadow <shadow>
Fri, 13 Apr 2007 08:33:09 +0000 (08:33 +0000)
committershadow <shadow>
Fri, 13 Apr 2007 08:33:09 +0000 (08:33 +0000)
to unhash it or make it invalid.

b=11970
i=green
i=wangdi

lustre/ChangeLog
lustre/llite/dcache.c

index 07148b0..a1a6a4b 100644 (file)
@@ -42,6 +42,12 @@ Description: MDS failing to send precreate requests due to OSCC_FLAG_RECOVERING
 Details    : request with rq_no_resend flag not awake l_wait_event if they get a
              timeout.
 
+Severity   : minor
+Frequency  : nfs export on patchless client
+Bugzilla   : 11970
+Description: connectathon hang when test nfs export over patchless client
+Details    : Disconnected dentry cannot be found with lookup, so we do not need 
+             to unhash it or make it invalid
 
 --------------------------------------------------------------------------------
 
index 019ff46..6959df5 100644 (file)
@@ -185,6 +185,12 @@ int ll_drop_dentry(struct dentry *dentry)
                 spin_lock(&dcache_lock);
                 return 1;
         }
+       /* disconected dentry can not be find without lookup, because we 
+        * not need his to unhash or mark invalid. */
+       if (dentry->d_flags & DCACHE_DISCONNECTED) {
+               unlock_dentry(dentry);
+               RETURN (0);
+       }
 
 #ifdef LUSTRE_KERNEL_VERSION
         if (!(dentry->d_flags & DCACHE_LUSTRE_INVALID)) {