diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-11-11 22:18:03 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-12-06 10:46:25 -0500 |
commit | e6b3c4db6fbcd0d33720696f37790d6b8be12313 (patch) | |
tree | 24ad4a93b00ba7236b9a2d896fd6cb59a1dc2334 /include/linux/sunrpc | |
parent | cc4dc59e5580d6c0de1685a25b74d32175f43434 (diff) |
Fix a second potential rpc_wakeup race...
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux/sunrpc')
-rw-r--r-- | include/linux/sunrpc/sched.h | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/include/linux/sunrpc/sched.h b/include/linux/sunrpc/sched.h index f399c138f79d..9fdb8c9d09f2 100644 --- a/include/linux/sunrpc/sched.h +++ b/include/linux/sunrpc/sched.h | |||
@@ -178,13 +178,6 @@ struct rpc_call_ops { | |||
178 | } while (0) | 178 | } while (0) |
179 | 179 | ||
180 | #define RPC_IS_ACTIVATED(t) (test_bit(RPC_TASK_ACTIVE, &(t)->tk_runstate)) | 180 | #define RPC_IS_ACTIVATED(t) (test_bit(RPC_TASK_ACTIVE, &(t)->tk_runstate)) |
181 | #define rpc_set_active(t) (set_bit(RPC_TASK_ACTIVE, &(t)->tk_runstate)) | ||
182 | #define rpc_clear_active(t) \ | ||
183 | do { \ | ||
184 | smp_mb__before_clear_bit(); \ | ||
185 | clear_bit(RPC_TASK_ACTIVE, &(t)->tk_runstate); \ | ||
186 | smp_mb__after_clear_bit(); \ | ||
187 | } while(0) | ||
188 | 181 | ||
189 | /* | 182 | /* |
190 | * Task priorities. | 183 | * Task priorities. |
@@ -254,6 +247,7 @@ struct rpc_task *rpc_run_task(struct rpc_clnt *clnt, int flags, | |||
254 | void rpc_init_task(struct rpc_task *task, struct rpc_clnt *clnt, | 247 | void rpc_init_task(struct rpc_task *task, struct rpc_clnt *clnt, |
255 | int flags, const struct rpc_call_ops *ops, | 248 | int flags, const struct rpc_call_ops *ops, |
256 | void *data); | 249 | void *data); |
250 | void rpc_put_task(struct rpc_task *); | ||
257 | void rpc_release_task(struct rpc_task *); | 251 | void rpc_release_task(struct rpc_task *); |
258 | void rpc_exit_task(struct rpc_task *); | 252 | void rpc_exit_task(struct rpc_task *); |
259 | void rpc_killall_tasks(struct rpc_clnt *); | 253 | void rpc_killall_tasks(struct rpc_clnt *); |