projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
be1f408
)
nfsd: link returns nfserr_delay when breaking lease
author
Casey Bodley
<
[email protected]
>
Fri, 3 Jun 2011 16:21:23 +0000
(12:21 -0400)
committer
J. Bruce Fields
<
[email protected]
>
Mon, 6 Jun 2011 22:46:56 +0000
(18:46 -0400)
fix for commit
4795bb37effb7b8fe77e2d2034545d062d3788a8
, nfsd: break
lease on unlink, link, and rename
if the LINK operation breaks a delegation, it returns NFS4ERR_NOENT
(which is not a valid error in rfc 5661) instead of NFS4ERR_DELAY.
the return value of nfsd_break_lease() in nfsd_link() must be
converted from host_err to err
Signed-off-by: Casey Bodley <
[email protected]
>
Cc:
[email protected]
Signed-off-by: J. Bruce Fields <
[email protected]
>
fs/nfsd/vfs.c
patch
|
blob
|
history
diff --git
a/fs/nfsd/vfs.c
b/fs/nfsd/vfs.c
index d5718273bb32f216922c474635ad479c7912064d..f3fb61b69a1e5e042b4edf64ee8c54858b349903 100644
(file)
--- a/
fs/nfsd/vfs.c
+++ b/
fs/nfsd/vfs.c
@@
-1660,8
+1660,10
@@
nfsd_link(struct svc_rqst *rqstp, struct svc_fh *ffhp,
if (!dold->d_inode)
goto out_drop_write;
host_err = nfsd_break_lease(dold->d_inode);
- if (host_err)
+ if (host_err) {
+ err = nfserrno(host_err);
goto out_drop_write;
+ }
host_err = vfs_link(dold, dirp, dnew);
if (!host_err) {
err = nfserrno(commit_metadata(ffhp));