NFSD forgets to call mnt_drop_write after a successful rename. Here's a fix. (Ah, the curse of a stackable file system developer: you have to debug everyone else's too. :-) One thing I wasn't sure is whether I could move the mnt_drop_write line a little above, just after the call to vfs_rename. If we can drop the ref earlier, it could improve scalability/performance just a bit, no? (i.e., what are the ramifications of holding on to this mnt writer ref longer than needed?) Cheers, Erez. Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu> diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index 7dfde65..47aec49 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c @@ -1693,6 +1693,7 @@ nfsd_rename(struct svc_rqst *rqstp, struct svc_fh *ffhp, char *fname, int flen, if (!host_err) host_err = nfsd_sync_dir(fdentry); } + mnt_drop_write(ffhp->fh_export->ex_path.mnt); out_dput_new: dput(ndentry); -
| david | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Justin C. Sherrill | Mailing list archive |
| Ingo Molnar | [patch 08/13] syslets: x86, add move_user_context() method |
git: | |
| Steven Rostedt | Re: -rt scheduling: wakeup bug? |
| David Miller | [GIT]: Networking |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
