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>
diff --git a/fs/orangefs/orangefs-kernel.h b/fs/orangefs/orangefs-kernel.h
index 3ceeeae..de898bd 100644
--- a/fs/orangefs/orangefs-kernel.h
+++ b/fs/orangefs/orangefs-kernel.h
@@ -202,7 +202,7 @@
 	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 @@
 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 @@
 		put_cancel(op);
 	} else {
 		op->op_state |= OP_VFS_STATE_PURGED;
-		wake_up_interruptible(&op->waitq);
+		complete(&op->waitq);
 		spin_unlock(&op->lock);
 	}
 }