2002-04-21 12:58:07

by Anton Blanchard

[permalink] [raw]
Subject: [PATCH] double down() in nfsd_symlink


Hi,

Probably as a result of the recent BKL removal in notify_change,
nfsd_symlink downs the inode semaphore twice (the first time is in
fh_lock). Al does this patch look OK to you?


--- linux-2.5/fs/nfsd/vfs.c Sun Apr 21 22:48:04 2002
+++ linux-2.5_work/fs/nfsd/vfs.c Sun Apr 21 22:38:28 2002
@@ -1127,9 +1127,7 @@
iap->ia_valid |= ATTR_CTIME;
iap->ia_mode = (iap->ia_mode&S_IALLUGO)
| S_IFLNK;
- down(&dentry->d_inode->i_sem);
err = notify_change(dnew, iap);
- up(&dentry->d_inode->i_sem);
if (!err && EX_ISSYNC(fhp->fh_export))
write_inode_now(dentry->d_inode, 1);
}

Anton