summaryrefslogtreecommitdiff
path: root/fs/orangefs/orangefs-kernel.h
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2016-02-13 18:15:22 +0300
committerMike Marshall <hubcap@omnibond.com>2016-02-19 21:45:53 +0300
commitd2d87a3b6df3088a991e277d42cd6a549ff2bc66 (patch)
tree7ca20690b8305a13283568762d2e2ab7b69574da /fs/orangefs/orangefs-kernel.h
parentcf22644a0e5f1a66c61e90da15784effe3ba7ced (diff)
downloadlinux-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.h6
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);
}
}