diff options
author | Andy Adamson <andros@netapp.com> | 2014-01-29 17:34:38 +0100 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2014-01-29 17:54:55 +0100 |
commit | f9c96fcc501a43dbc292b17fc0ded4b54e63b79d (patch) | |
tree | 50feb8393e5fa42095511a1417dbe56def085569 /fs/nfs/nfs4proc.c | |
parent | nfs: add memory barriers around NFS_INO_INVALID_DATA and NFS_INO_INVALIDATING (diff) | |
download | linux-f9c96fcc501a43dbc292b17fc0ded4b54e63b79d.tar.xz linux-f9c96fcc501a43dbc292b17fc0ded4b54e63b79d.zip |
NFSv4.1 free slot before resending I/O to MDS
Fix a dynamic session slot leak where a slot is preallocated and I/O is
resent through the MDS.
Signed-off-by: Andy Adamson <andros@netapp.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r-- | fs/nfs/nfs4proc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index ed10d0d4f860..ae00c3ed733f 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -592,7 +592,7 @@ out_unlock: nfs41_server_notify_highest_slotid_update(session->clp); } -static int nfs41_sequence_done(struct rpc_task *task, struct nfs4_sequence_res *res) +int nfs41_sequence_done(struct rpc_task *task, struct nfs4_sequence_res *res) { struct nfs4_session *session; struct nfs4_slot *slot; @@ -692,6 +692,7 @@ out_retry: rpc_delay(task, NFS4_POLL_RETRY_MAX); return 0; } +EXPORT_SYMBOL_GPL(nfs41_sequence_done); static int nfs4_sequence_done(struct rpc_task *task, struct nfs4_sequence_res *res) |