aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs3proc.c
diff options
context:
space:
mode:
authorBryan Schumaker <bjschuma@netapp.com>2012-06-20 15:53:44 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-06-29 11:46:45 -0400
commit57ec14c55dee2733330327499d16e40f8c23219e (patch)
treef375d5c2c16266a55aa1d0c9a8a9e865465f1d12 /fs/nfs/nfs3proc.c
parentNFS: Create a have_delegation rpc_op (diff)
downloadlinux-dev-57ec14c55dee2733330327499d16e40f8c23219e.tar.xz
linux-dev-57ec14c55dee2733330327499d16e40f8c23219e.zip
NFS: Create a return_delegation rpc op
Delegations are a v4 feature, so push return_delegation out of the generic client by creating a new rpc_op and renaming the old function to be in the nfs v4 "namespace" Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs3proc.c')
-rw-r--r--fs/nfs/nfs3proc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/nfs/nfs3proc.c b/fs/nfs/nfs3proc.c
index 08f832634ef9..4749a32e54be 100644
--- a/fs/nfs/nfs3proc.c
+++ b/fs/nfs/nfs3proc.c
@@ -882,6 +882,12 @@ static int nfs3_have_delegation(struct inode *inode, fmode_t flags)
return 0;
}
+static int nfs3_return_delegation(struct inode *inode)
+{
+ nfs_wb_all(inode);
+ return 0;
+}
+
const struct nfs_rpc_ops nfs_v3_clientops = {
.version = 3, /* protocol version */
.dentry_ops = &nfs_dentry_operations,
@@ -927,5 +933,6 @@ const struct nfs_rpc_ops nfs_v3_clientops = {
.clear_acl_cache = nfs3_forget_cached_acls,
.close_context = nfs_close_context,
.have_delegation = nfs3_have_delegation,
+ .return_delegation = nfs3_return_delegation,
.init_client = nfs_init_client,
};