From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Josef 'Jeff' Sipek" Subject: [PATCH 17/21] Unionfs: vfsmount reference counting fixes Date: Mon, 9 Apr 2007 10:54:08 -0400 Message-ID: <1176130455765-git-send-email-jsipek@cs.sunysb.edu> References: <11761304521844-git-send-email-jsipek@cs.sunysb.edu> Cc: akpm@linux-foundation.org, Erez Zadok , "Josef 'Jeff' Sipek" To: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org Return-path: In-Reply-To: <11761304521844-git-send-email-jsipek@cs.sunysb.edu> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org From: Erez Zadok Signed-off-by: Erez Zadok Signed-off-by: Josef 'Jeff' Sipek --- fs/unionfs/dentry.c | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-) diff --git a/fs/unionfs/dentry.c b/fs/unionfs/dentry.c index 4756b78..b08842f 100644 --- a/fs/unionfs/dentry.c +++ b/fs/unionfs/dentry.c @@ -235,8 +235,8 @@ int __unionfs_d_revalidate_chain(struct dentry *dentry, struct nameidata *nd) valid = __unionfs_d_revalidate_one(chain[i], nd); /* XXX: is this the correct mntput condition?! */ if (valid && chain_len > 0 && - sbgen != dgen && dentry->d_inode && - S_ISDIR(dentry->d_inode->i_mode)) { + sbgen != dgen && chain[i]->d_inode && + S_ISDIR(chain[i]->d_inode->i_mode)) { for (bindex = saved_bstart; bindex <= saved_bend; bindex++) unionfs_mntput(chain[i], bindex); } @@ -256,9 +256,7 @@ int __unionfs_d_revalidate_chain(struct dentry *dentry, struct nameidata *nd) saved_bend = dbend(dentry); valid = __unionfs_d_revalidate_one(dentry, nd); - if (valid && chain_len > 0 && - sbgen != dgen && dentry->d_inode && - S_ISDIR(dentry->d_inode->i_mode)) { + if (valid && chain_len > 0 && sbgen != dgen) { for (bindex = saved_bstart; bindex <= saved_bend; bindex++) unionfs_mntput(dentry, bindex); } -- 1.5.0.3.268.g3dda