aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/nfsd/nfs4proc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c
index eb8c1337d9ba..ac4878ac2213 100644
--- a/fs/nfsd/nfs4proc.c
+++ b/fs/nfsd/nfs4proc.c
@@ -536,6 +536,8 @@ nfsd4_remove(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_rem
536{ 536{
537 int status; 537 int status;
538 538
539 if (nfs4_in_grace())
540 return nfserr_grace;
539 status = nfsd_unlink(rqstp, current_fh, 0, remove->rm_name, remove->rm_namelen); 541 status = nfsd_unlink(rqstp, current_fh, 0, remove->rm_name, remove->rm_namelen);
540 if (status == nfserr_symlink) 542 if (status == nfserr_symlink)
541 return nfserr_notdir; 543 return nfserr_notdir;
@@ -554,6 +556,9 @@ nfsd4_rename(struct svc_rqst *rqstp, struct svc_fh *current_fh,
554 556
555 if (!save_fh->fh_dentry) 557 if (!save_fh->fh_dentry)
556 return status; 558 return status;
559 if (nfs4_in_grace() && !(save_fh->fh_export->ex_flags
560 & NFSEXP_NOSUBTREECHECK))
561 return nfserr_grace;
557 status = nfsd_rename(rqstp, save_fh, rename->rn_sname, 562 status = nfsd_rename(rqstp, save_fh, rename->rn_sname,
558 rename->rn_snamelen, current_fh, 563 rename->rn_snamelen, current_fh,
559 rename->rn_tname, rename->rn_tnamelen); 564 rename->rn_tname, rename->rn_tnamelen);