From 12aa511bf0f2bd7b98cd152a3362ebacec7629ae Mon Sep 17 00:00:00 2001 From: shadow Date: Thu, 27 Sep 2007 12:34:22 +0000 Subject: [PATCH 1/1] not revalidate dentry if it root dentry. b=13334 i=green i=johann --- lustre/ChangeLog | 5 +++++ lustre/llite/dcache.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) 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); -- 1.8.3.1