Whamcloud - gitweb
not revalidate dentry if it root dentry.
authorshadow <shadow>
Thu, 27 Sep 2007 12:34:22 +0000 (12:34 +0000)
committershadow <shadow>
Thu, 27 Sep 2007 12:34:22 +0000 (12:34 +0000)
b=13334
i=green
i=johann

lustre/ChangeLog
lustre/llite/dcache.c

index be94848..58fc966 100644 (file)
@@ -331,6 +331,11 @@ Details    : llapi_semantic_traverse() modifies the "path" argument by
              appending values to the end of the origin string, and a 
              overrun may occur. Adding buffer overrun check in liblustreapi.
 
              appending values to the end of the origin string, and a 
              overrun may occur. Adding buffer overrun check in liblustreapi.
 
+Severity   : normal
+Bugzilla   : 13730
+Description: client sometimes tried revalidate root dentry.
+Details    : not revalidate dentry if it root dentry.
+
 --------------------------------------------------------------------------------
 
 2007-08-10         Cluster File Systems, Inc. <info@clusterfs.com>
 --------------------------------------------------------------------------------
 
 2007-08-10         Cluster File Systems, Inc. <info@clusterfs.com>
index 4c0c6a5..4f5803b 100644 (file)
@@ -272,7 +272,7 @@ restart:
 
                         continue;
                 }
 
                         continue;
                 }
-                
+
                 if (ll_drop_dentry(dentry))
                           goto restart;
         }
                 if (ll_drop_dentry(dentry))
                           goto restart;
         }
@@ -389,7 +389,7 @@ int ll_revalidate_it(struct dentry *de, int lookup_flags,
 
         /* Root of the lustre tree. Always valid.
          * Attributes will be fixed up in ll_inode_revalidate_it */
 
         /* Root of the lustre tree. Always valid.
          * Attributes will be fixed up in ll_inode_revalidate_it */
-        if (de->d_name.name[0] == '/' && de->d_name.len == 1)
+        if (de == de->d_sb->s_root)
                 RETURN(1);
 
         OBD_FAIL_TIMEOUT(OBD_FAIL_MDC_REVALIDATE_PAUSE, 5);
                 RETURN(1);
 
         OBD_FAIL_TIMEOUT(OBD_FAIL_MDC_REVALIDATE_PAUSE, 5);