Commit 44f03ae3 authored by Anton Blanchard's avatar Anton Blanchard Committed by Linus Torvalds

[PATCH] double down() in nfsd_symlink

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).
parent 835d3967
...@@ -1127,9 +1127,7 @@ nfsd_symlink(struct svc_rqst *rqstp, struct svc_fh *fhp, ...@@ -1127,9 +1127,7 @@ nfsd_symlink(struct svc_rqst *rqstp, struct svc_fh *fhp,
iap->ia_valid |= ATTR_CTIME; iap->ia_valid |= ATTR_CTIME;
iap->ia_mode = (iap->ia_mode&S_IALLUGO) iap->ia_mode = (iap->ia_mode&S_IALLUGO)
| S_IFLNK; | S_IFLNK;
down(&dentry->d_inode->i_sem);
err = notify_change(dnew, iap); err = notify_change(dnew, iap);
up(&dentry->d_inode->i_sem);
if (!err && EX_ISSYNC(fhp->fh_export)) if (!err && EX_ISSYNC(fhp->fh_export))
write_inode_now(dentry->d_inode, 1); write_inode_now(dentry->d_inode, 1);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment