From: shadow Date: Thu, 27 Sep 2007 12:34:22 +0000 (+0000) Subject: not revalidate dentry if it root dentry. X-Git-Tag: v1_7_0_51~673 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;ds=sidebyside;h=12aa511bf0f2bd7b98cd152a3362ebacec7629ae;p=fs%2Flustre-release.git not revalidate dentry if it root dentry. b=13334 i=green i=johann --- diff --git a/lustre/ChangeLog b/lustre/ChangeLog index be94848..58fc966 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -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. +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. diff --git a/lustre/llite/dcache.c b/lustre/llite/dcache.c index 4c0c6a5..4f5803b 100644 --- a/lustre/llite/dcache.c +++ b/lustre/llite/dcache.c @@ -272,7 +272,7 @@ restart: continue; } - + 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 */ - 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);