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 f399c138f7..9fdb8c9d09 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 *); |
