|
@@ -273,13 +273,6 @@ out:
|
|
|
return err;
|
|
|
}
|
|
|
|
|
|
-static int nfsd_break_lease(struct inode *inode)
|
|
|
-{
|
|
|
- if (!S_ISREG(inode->i_mode))
|
|
|
- return 0;
|
|
|
- return break_lease(inode, O_WRONLY | O_NONBLOCK);
|
|
|
-}
|
|
|
-
|
|
|
/*
|
|
|
* Commit metadata changes to stable storage.
|
|
|
*/
|
|
@@ -448,16 +441,10 @@ nfsd_setattr(struct svc_rqst *rqstp, struct svc_fh *fhp, struct iattr *iap,
|
|
|
goto out_put_write_access;
|
|
|
}
|
|
|
|
|
|
- host_err = nfsd_break_lease(inode);
|
|
|
- if (host_err)
|
|
|
- goto out_put_write_access_nfserror;
|
|
|
-
|
|
|
fh_lock(fhp);
|
|
|
host_err = notify_change(dentry, iap, NULL);
|
|
|
fh_unlock(fhp);
|
|
|
|
|
|
-out_put_write_access_nfserror:
|
|
|
- err = nfserrno(host_err);
|
|
|
out_put_write_access:
|
|
|
if (size_change)
|
|
|
put_write_access(inode);
|
|
@@ -1759,11 +1746,6 @@ nfsd_link(struct svc_rqst *rqstp, struct svc_fh *ffhp,
|
|
|
err = nfserr_noent;
|
|
|
if (!dold->d_inode)
|
|
|
goto out_dput;
|
|
|
- host_err = nfsd_break_lease(dold->d_inode);
|
|
|
- if (host_err) {
|
|
|
- err = nfserrno(host_err);
|
|
|
- goto out_dput;
|
|
|
- }
|
|
|
host_err = vfs_link(dold, dirp, dnew, NULL);
|
|
|
if (!host_err) {
|
|
|
err = nfserrno(commit_metadata(ffhp));
|
|
@@ -1857,14 +1839,6 @@ nfsd_rename(struct svc_rqst *rqstp, struct svc_fh *ffhp, char *fname, int flen,
|
|
|
if (ffhp->fh_export->ex_path.dentry != tfhp->fh_export->ex_path.dentry)
|
|
|
goto out_dput_new;
|
|
|
|
|
|
- host_err = nfsd_break_lease(odentry->d_inode);
|
|
|
- if (host_err)
|
|
|
- goto out_dput_new;
|
|
|
- if (ndentry->d_inode) {
|
|
|
- host_err = nfsd_break_lease(ndentry->d_inode);
|
|
|
- if (host_err)
|
|
|
- goto out_dput_new;
|
|
|
- }
|
|
|
host_err = vfs_rename(fdir, odentry, tdir, ndentry, NULL);
|
|
|
if (!host_err) {
|
|
|
host_err = commit_metadata(tfhp);
|
|
@@ -1934,16 +1908,12 @@ nfsd_unlink(struct svc_rqst *rqstp, struct svc_fh *fhp, int type,
|
|
|
if (!type)
|
|
|
type = rdentry->d_inode->i_mode & S_IFMT;
|
|
|
|
|
|
- host_err = nfsd_break_lease(rdentry->d_inode);
|
|
|
- if (host_err)
|
|
|
- goto out_put;
|
|
|
if (type != S_IFDIR)
|
|
|
host_err = vfs_unlink(dirp, rdentry, NULL);
|
|
|
else
|
|
|
host_err = vfs_rmdir(dirp, rdentry);
|
|
|
if (!host_err)
|
|
|
host_err = commit_metadata(fhp);
|
|
|
-out_put:
|
|
|
dput(rdentry);
|
|
|
|
|
|
out_nfserr:
|