summaryrefslogtreecommitdiff
path: root/fs/nfs
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2005-10-18 14:20:20 -0700
committerTrond Myklebust <Trond.Myklebust@netapp.com>2005-10-18 14:20:20 -0700
commitb8e5c4c2978fa666287525a9de2fa648a7581262 (patch)
treeb90d9aca86dcb187d985be1eb39e5f691dfcf187 /fs/nfs
parent642ac54923e0291ae2c8e42edde18d8c9c0a3c84 (diff)
downloadkernel-common-b8e5c4c2978fa666287525a9de2fa648a7581262.tar.gz
kernel-common-b8e5c4c2978fa666287525a9de2fa648a7581262.tar.bz2
kernel-common-b8e5c4c2978fa666287525a9de2fa648a7581262.zip
NFSv4: If a delegated open fails, ensure that we return the delegation
Unless of course the open fails due to permission issues. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/nfs4proc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index c10dcd12af51..a8be9af610ac 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -658,6 +658,8 @@ out_err:
}
up_read(&nfsi->rwsem);
up_read(&clp->cl_sem);
+ if (err != -EACCES)
+ nfs_inode_return_delegation(inode);
return err;
}