From ae96ffa0227b44e844952de3d9814b3f7b945682 Mon Sep 17 00:00:00 2001 From: Erez Zadok Date: Thu, 10 Jan 2008 06:59:15 -0500 Subject: [PATCH] Unionfs: remove unnecessary conditional inode lock This was intended to protect the inode during branch management, but that is now done through our superblock rwsem. Signed-off-by: Erez Zadok --- fs/unionfs/dentry.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/fs/unionfs/dentry.c b/fs/unionfs/dentry.c index 767225e61f..4f67419324 100644 --- a/fs/unionfs/dentry.c +++ b/fs/unionfs/dentry.c @@ -33,7 +33,6 @@ static bool __unionfs_d_revalidate_one(struct dentry *dentry, int bindex, bstart, bend; int sbgen, dgen; int positive = 0; - int locked = 0; int interpose_flag; struct nameidata lowernd; /* TODO: be gentler to the stack */ @@ -100,16 +99,6 @@ static bool __unionfs_d_revalidate_one(struct dentry *dentry, interpose_flag = INTERPOSE_REVAL_NEG; if (positive) { interpose_flag = INTERPOSE_REVAL; - /* - * During BRM, the VFS could already hold a lock on - * a file being read, so don't lock it again - * (deadlock), but if you lock it in this function, - * then release it here too. - */ - if (!mutex_is_locked(&dentry->d_inode->i_mutex)) { - mutex_lock(&dentry->d_inode->i_mutex); - locked = 1; - } bstart = ibstart(dentry->d_inode); bend = ibend(dentry->d_inode); @@ -128,8 +117,6 @@ static bool __unionfs_d_revalidate_one(struct dentry *dentry, UNIONFS_I(dentry->d_inode)->lower_inodes = NULL; ibstart(dentry->d_inode) = -1; ibend(dentry->d_inode) = -1; - if (locked) - mutex_unlock(&dentry->d_inode->i_mutex); } /* on reval, als purge the odf dentry, if any */ if (UNIONFS_D(dentry)->odf.dentry) { -- 2.34.1