diff options
author | Stanislav Kinsbursky <skinsbursky@parallels.com> | 2012-12-17 12:18:52 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-12-17 12:19:16 -0500 |
commit | cd6c5968582a273561464fe6b1e8cc8214be02df (patch) | |
tree | 6bb584126d99808f24db854bb1c3fe5b6038d7ad /net | |
parent | ada8e20d044c0fa5610e504ce6fb4578ebd3edd9 (diff) |
SUNRPC: continue run over clients list on PipeFS event instead of break
There are SUNRPC clients, which program doesn't have pipe_dir_name. These
clients can be skipped on PipeFS events, because nothing have to be created or
destroyed. But instead of breaking in case of such a client was found, search
for suitable client over clients list have to be continued. Otherwise some
clients could not be covered by PipeFS event handler.
Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Cc: stable@vger.kernel.org [>= v3.4]
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/clnt.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index 55e174f2d02f..822f020fa7f4 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c | |||
@@ -237,7 +237,7 @@ static struct rpc_clnt *rpc_get_client_for_event(struct net *net, int event) | |||
237 | spin_lock(&sn->rpc_client_lock); | 237 | spin_lock(&sn->rpc_client_lock); |
238 | list_for_each_entry(clnt, &sn->all_clients, cl_clients) { | 238 | list_for_each_entry(clnt, &sn->all_clients, cl_clients) { |
239 | if (clnt->cl_program->pipe_dir_name == NULL) | 239 | if (clnt->cl_program->pipe_dir_name == NULL) |
240 | break; | 240 | continue; |
241 | if (rpc_clnt_skip_event(clnt, event)) | 241 | if (rpc_clnt_skip_event(clnt, event)) |
242 | continue; | 242 | continue; |
243 | if (atomic_inc_not_zero(&clnt->cl_count) == 0) | 243 | if (atomic_inc_not_zero(&clnt->cl_count) == 0) |