orangefs: get rid of loop in wait_for_matching_downcall()
[deliverable/linux.git] / fs / orangefs / orangefs-kernel.h
index 3ceeeaed414327e64c0a1d6f2744639c46aeba80..de898bda7859069bd8476099283e4d45a4f3bd9c 100644 (file)
@@ -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);
        }
 }
This page took 0.029133 seconds and 5 git commands to generate.