diff options
Diffstat (limited to 'fs/netfs/write_collect.c')
-rw-r--r-- | fs/netfs/write_collect.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/netfs/write_collect.c b/fs/netfs/write_collect.c index d54526d2e751..1b7f53d01b8d 100644 --- a/fs/netfs/write_collect.c +++ b/fs/netfs/write_collect.c @@ -289,7 +289,9 @@ reassess_streams: goto need_retry; if ((notes & MADE_PROGRESS) && test_bit(NETFS_RREQ_PAUSE, &wreq->flags)) { trace_netfs_rreq(wreq, netfs_rreq_trace_unpause); - clear_and_wake_up_bit(NETFS_RREQ_PAUSE, &wreq->flags); + clear_bit_unlock(NETFS_RREQ_PAUSE, &wreq->flags); + smp_mb__after_atomic(); /* Set PAUSE before task state */ + wake_up(&wreq->waitq); } if (notes & NEED_REASSESS) { |