nfsd: break lease on unlink due to rename
4795bb37ef
"nfsd: break lease on unlink,
link, and rename", only broke the lease on the file that was being
renamed, and didn't handle the case where the target path refers to an
already-existing file that will be unlinked by a rename--in that case
the target file should have any leases broken as well.
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
parent
acfdf5c383
commit
83f6b0c182
|
@ -1742,6 +1742,13 @@ nfsd_rename(struct svc_rqst *rqstp, struct svc_fh *ffhp, char *fname, int flen,
|
|||
goto out_dput_new;
|
||||
|
||||
host_err = nfsd_break_lease(odentry->d_inode);
|
||||
if (host_err)
|
||||
goto out_drop_write;
|
||||
if (ndentry->d_inode) {
|
||||
host_err = nfsd_break_lease(ndentry->d_inode);
|
||||
if (host_err)
|
||||
goto out_drop_write;
|
||||
}
|
||||
if (host_err)
|
||||
goto out_drop_write;
|
||||
host_err = vfs_rename(fdir, odentry, tdir, ndentry);
|
||||
|
|
Loading…
Reference in a new issue