diff options
| -rw-r--r-- | xlators/nfs/lib/src/rpcsvc.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/xlators/nfs/lib/src/rpcsvc.c b/xlators/nfs/lib/src/rpcsvc.c index cd9733ecb6e..515e8738fc9 100644 --- a/xlators/nfs/lib/src/rpcsvc.c +++ b/xlators/nfs/lib/src/rpcsvc.c @@ -1783,6 +1783,7 @@ nfs_rpcsvc_submit_vectors (rpcsvc_request_t *req)          struct iobuf            *replyiob = NULL;          struct iovec            recordhdr = {0, };          rpcsvc_txbuf_t          *rpctxb = NULL; +        void                    *rxpool = NULL;          if ((!req) || (!req->conn))                  return -1; @@ -1818,11 +1819,13 @@ disconnect_exit:           * response to the ref that is performed on the conn when a request is           * handed to the RPC program.           */ +        rxpool = req->conn->rxpool; +          nfs_rpcsvc_conn_unref (req->conn);          if (ret == -1)                  iobuf_unref (replyiob); -        mem_put (req->conn->rxpool, req); +        mem_put (rxpool, req);          return ret;  }  | 
