diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-01-22 05:17:37 +0100 |
---|---|---|
committer | Mike Marshall <hubcap@omnibond.com> | 2016-01-23 18:42:43 +0100 |
commit | 831d0949799be75ed84c1c6a4541ebcd74edba6c (patch) | |
tree | 169e32f185f943ef54502cab688159dd1a661c3a /fs/orangefs/devorangefs-req.c | |
parent | orangefs: make wait_for_...downcall() static (diff) | |
download | linux-831d0949799be75ed84c1c6a4541ebcd74edba6c.tar.xz linux-831d0949799be75ed84c1c6a4541ebcd74edba6c.zip |
orangefs: move wakeups into set_op_state_{serviced,purged}()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
Diffstat (limited to 'fs/orangefs/devorangefs-req.c')
-rw-r--r-- | fs/orangefs/devorangefs-req.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/fs/orangefs/devorangefs-req.c b/fs/orangefs/devorangefs-req.c index b58fab2a9c26..dadeb381f9fc 100644 --- a/fs/orangefs/devorangefs-req.c +++ b/fs/orangefs/devorangefs-req.c @@ -415,8 +415,6 @@ wakeup: set_op_state_serviced(op); spin_unlock(&op->lock); - wake_up_interruptible(&op->waitq); - while (1) { spin_lock(&op->lock); prepare_to_wait_exclusive( @@ -464,17 +462,14 @@ wakeup: } else { /* * tell the vfs op waiting on a waitqueue that - * this op is done - */ - spin_lock(&op->lock); - set_op_state_serviced(op); - spin_unlock(&op->lock); - /* + * this op is done - * for every other operation (i.e. non-I/O), we need to * wake up the callers for downcall completion * notification */ - wake_up_interruptible(&op->waitq); + spin_lock(&op->lock); + set_op_state_serviced(op); + spin_unlock(&op->lock); } out: return ret; |