summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChao Yu <yuchao0@huawei.com>2017-05-19 23:46:44 +0800
committerJaegeuk Kim <jaegeuk@kernel.org>2017-07-13 16:56:17 -0700
commitaa9d75d2f522fccac641f5cb535acd53b0238f2e (patch)
tree530ae9c80142ae2e281f8f5f1c1bd50120bd92ef
parent732de6bf9e328f15a85606744ddab0559ab7bf65 (diff)
f2fs: wake up all waiters in f2fs_submit_discard_endio
There could be more than one waiter waiting discard IO completion, so we need use complete_all() instead of complete() in f2fs_submit_discard_endio to avoid hungtask. Fixes: ec9895add2c5 ("f2fs: don't hold cmd_lock during waiting discard command") Cc: <stable@vger.kernel.org> Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r--fs/f2fs/segment.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index fcdc45c8ba1b..66cbd3da0404 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -752,7 +752,7 @@ static void f2fs_submit_discard_endio(struct bio *bio)
dc->error = bio->bi_error;
dc->state = D_DONE;
- complete(&dc->wait);
+ complete_all(&dc->wait);
bio_put(bio);
}