diff --git a/lustre/ChangeLog b/lustre/ChangeLog index be94848b3aca4173f6b630eece18a7f7241b5a94..58fc966855b3f8b68f49c08aaf01f726a29a9d89 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. <info@clusterfs.com> diff --git a/lustre/llite/dcache.c b/lustre/llite/dcache.c index 4c0c6a55e718b66f9bbab0499a6641ed539df5d4..4f5803b8012a9b483fb5110daedb72c74925af93 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);