aboutsummaryrefslogtreecommitdiff
path: root/fs/f2fs
diff options
context:
space:
mode:
authorGravatar Chao Yu <yuchao0@huawei.com> 2017-05-19 23:46:44 +0800
committerGravatar Jaegeuk Kim <jaegeuk@kernel.org> 2017-05-23 21:09:54 -0700
commite31b98215779e66a490471c6ad886ae231316699 (patch)
tree01a15476b920f5178ec0029a6b305fe193589189 /fs/f2fs
parentf2fs: show more info if fail to issue discard (diff)
downloadlinux-e31b98215779e66a490471c6ad886ae231316699.tar.gz
linux-e31b98215779e66a490471c6ad886ae231316699.tar.bz2
linux-e31b98215779e66a490471c6ad886ae231316699.zip
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>
Diffstat (limited to 'fs/f2fs')
-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 22cca2699095..24a2d5ab6f45 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);
}