From f483001aee3e1e8efcf48777d616d293d669c260 Mon Sep 17 00:00:00 2001 From: shadow Date: Thu, 27 Sep 2007 12:04:08 +0000 Subject: [PATCH] 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 0513b7e..ad7c111 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -277,6 +277,11 @@ Description: Fix warning idr_remove called for id=.. which is not allocated. Details : Last kernels save old s_dev before kill super and not allow to restore from callback - restore it before call kill_anon_super. +Severity : normal +Bugzilla : 13730 +Description: client sometimes tried revalidate root dentry. +Details : not revalidate dentry if it root dentry. + -------------------------------------------------------------------------------- 2007-08-27 Cluster File Systems, Inc. diff --git a/lustre/llite/dcache.c b/lustre/llite/dcache.c index 29418ff..2c65e8c 100644 --- a/lustre/llite/dcache.c +++ b/lustre/llite/dcache.c @@ -261,7 +261,7 @@ restart: continue; } - + if (ll_drop_dentry(dentry)) goto restart; } @@ -372,7 +372,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