diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-02-13 18:15:22 +0300 |
---|---|---|
committer | Mike Marshall <hubcap@omnibond.com> | 2016-02-19 21:45:53 +0300 |
commit | d2d87a3b6df3088a991e277d42cd6a549ff2bc66 (patch) | |
tree | 7ca20690b8305a13283568762d2e2ab7b69574da /fs/orangefs/orangefs-kernel.h | |
parent | cf22644a0e5f1a66c61e90da15784effe3ba7ced (diff) | |
download | linux-d2d87a3b6df3088a991e277d42cd6a549ff2bc66.tar.xz |
orangefs: get rid of loop in wait_for_matching_downcall()
turn op->waitq into struct completion...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
Diffstat (limited to 'fs/orangefs/orangefs-kernel.h')
-rw-r--r-- | fs/orangefs/orangefs-kernel.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/orangefs/orangefs-kernel.h b/fs/orangefs/orangefs-kernel.h index 3ceeeaed4143..de898bda7859 100644 --- a/fs/orangefs/orangefs-kernel.h +++ b/fs/orangefs/orangefs-kernel.h @@ -202,7 +202,7 @@ struct orangefs_kernel_op_s { struct orangefs_upcall_s upcall; struct orangefs_downcall_s downcall; - wait_queue_head_t waitq; + struct completion waitq; spinlock_t lock; struct completion done; @@ -222,7 +222,7 @@ struct orangefs_kernel_op_s { static inline void set_op_state_serviced(struct orangefs_kernel_op_s *op) { op->op_state = OP_VFS_STATE_SERVICED; - wake_up_interruptible(&op->waitq); + complete(&op->waitq); } #define op_state_waiting(op) ((op)->op_state & OP_VFS_STATE_WAITING) @@ -266,7 +266,7 @@ static inline void set_op_state_purged(struct orangefs_kernel_op_s *op) put_cancel(op); } else { op->op_state |= OP_VFS_STATE_PURGED; - wake_up_interruptible(&op->waitq); + complete(&op->waitq); spin_unlock(&op->lock); } } |