From 89ab7d9d715687fcaa76a7719b4643b6dc8485a2 Mon Sep 17 00:00:00 2001 From: green Date: Tue, 26 Apr 2005 20:49:30 +0000 Subject: [PATCH] b=5907 r=adilger Do not unhash mountpoint dentries and silence error message --- lustre/ChangeLog | 1 + lustre/llite/dcache.c | 14 ++++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lustre/ChangeLog b/lustre/ChangeLog index b70370a..c9ab087 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -39,6 +39,7 @@ tbd Cluster File Systems, Inc. - support for mountfsoptions and clientoptions to the Lustre LDAP (5873) - improved "lustre status" script - initialize blocksize for non-regular files (6062) + - Do not unhash mountpoint dentries (5907) 2005-03-22 Cluster File Systems, Inc. * version 1.4.1 diff --git a/lustre/llite/dcache.c b/lustre/llite/dcache.c index 39a53bd..8f55aa4 100644 --- a/lustre/llite/dcache.c +++ b/lustre/llite/dcache.c @@ -167,10 +167,16 @@ restart: lustre_dump_dentry(dentry, 1); portals_debug_dumpstack(NULL); } else if (d_mountpoint(dentry)) { - CERROR("called on mountpoint (?) dentry=%p, inode=%p " - "ino=%lu\n", dentry, inode, inode->i_ino); - lustre_dump_dentry(dentry, 1); - portals_debug_dumpstack(NULL); + /* For mountpoints we skip removal of the dentry + which happens solely because we have a lock on it + obtained when this dentry was not a mountpoint yet */ + CDEBUG(D_DENTRY, "Skippind mountpoint dentry removal " + "%.*s (%p) parent %p\n", + dentry->d_name.len, + dentry->d_name.name, + dentry, dentry->d_parent); + + continue; } if (atomic_read(&dentry->d_count) == 0) { -- 1.8.3.1