diff options
author | Shehjar Tikoo <shehjart@gluster.com> | 2011-01-05 07:02:14 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2011-01-07 17:43:56 -0800 |
commit | 38d0824031f445620fa0d704043cd5dedadea721 (patch) | |
tree | f2ce85d02ea7a5c4b2bcf262838c6602fc14e8c5 /xlators/nfs/lib/src/rpcsvc.c | |
parent | de6936a022e34a22eca39e189da368c03b46481f (diff) |
nfs3: Ignore requests for volumes without a single CHILD-UP
NFS ignores the requests for subvolumes on which child-up has never been
received.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2200 (cp dies with "Invalid argument" after failover)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2200
Diffstat (limited to 'xlators/nfs/lib/src/rpcsvc.c')
-rw-r--r-- | xlators/nfs/lib/src/rpcsvc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/xlators/nfs/lib/src/rpcsvc.c b/xlators/nfs/lib/src/rpcsvc.c index da9cb3bc8bb..ff3c1facc18 100644 --- a/xlators/nfs/lib/src/rpcsvc.c +++ b/xlators/nfs/lib/src/rpcsvc.c @@ -1987,6 +1987,8 @@ nfs_rpcsvc_handle_rpc_call (rpcsvc_conn_t *conn) err_reply: if (ret == RPCSVC_ACTOR_ERROR) ret = nfs_rpcsvc_error_reply (req); + else if (ret == RPCSVC_ACTOR_IGNORE) + mem_put (conn->rxpool, req); /* No need to propagate error beyond this function since the reply * has now been queued. */ @@ -2297,6 +2299,8 @@ nfs_rpcsvc_record_vectored_call_actor (rpcsvc_conn_t *conn) err_reply: if (ret == RPCSVC_ACTOR_ERROR) ret = nfs_rpcsvc_error_reply (req); + else if (ret == RPCSVC_ACTOR_IGNORE) + mem_put (conn->rxpool, req); /* No need to propagate error beyond this function since the reply * has now been queued. */ |