diff options
author | Trond Myklebust <trond.myklebust@hammerspace.com> | 2019-07-18 07:10:51 +0200 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@hammerspace.com> | 2019-07-18 07:12:59 +0200 |
commit | 9f98effc19bd490a375c4e764a56a2c015d27c3c (patch) | |
tree | 2e3e9af579aa10667f75e8bea2fe31747824464f | |
parent | SUNRPC: Skip zero-refcount transports (diff) | |
download | linux-9f98effc19bd490a375c4e764a56a2c015d27c3c.tar.xz linux-9f98effc19bd490a375c4e764a56a2c015d27c3c.zip |
SUNRPC: Fix initialisation of struct rpc_xprt_switch
Ensure that we do initialise the fields xps_nactive, xps_queuelen
and xps_net.
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
-rw-r--r-- | net/sunrpc/xprtmultipath.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/sunrpc/xprtmultipath.c b/net/sunrpc/xprtmultipath.c index c12778e1235e..f3ecd0bee484 100644 --- a/net/sunrpc/xprtmultipath.c +++ b/net/sunrpc/xprtmultipath.c @@ -103,7 +103,9 @@ struct rpc_xprt_switch *xprt_switch_alloc(struct rpc_xprt *xprt, if (xps != NULL) { spin_lock_init(&xps->xps_lock); kref_init(&xps->xps_kref); - xps->xps_nxprts = 0; + xps->xps_nxprts = xps->xps_nactive = 0; + atomic_long_set(&xps->xps_queuelen, 0); + xps->xps_net = NULL; INIT_LIST_HEAD(&xps->xps_xprt_list); xps->xps_iter_ops = &rpc_xprt_iter_singular; xprt_switch_add_xprt_locked(xps, xprt); |