summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/segment.c
diff options
context:
space:
mode:
authorChangman Lee2013-11-07 04:48:25 +0100
committerJaegeuk Kim2013-11-08 06:10:29 +0100
commitfb51b5ef9c07844f80402702bd3d3002ceca5cd9 (patch)
tree203243206fd73a201d6e316079e26384baf9754b /fs/f2fs/segment.c
parentf2fs: avoid to use a NULL point in destroy_segment_manager (diff)
downloadkernel-qcow2-linux-fb51b5ef9c07844f80402702bd3d3002ceca5cd9.tar.gz
kernel-qcow2-linux-fb51b5ef9c07844f80402702bd3d3002ceca5cd9.tar.xz
kernel-qcow2-linux-fb51b5ef9c07844f80402702bd3d3002ceca5cd9.zip
f2fs: cleanup waiting routine for writeback pages in cp
use genernal method supported by kernel o changes from v1 If any waiter exists at end io, wake up it. Signed-off-by: Changman Lee <cm224.lee@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Diffstat (limited to 'fs/f2fs/segment.c')
-rw-r--r--fs/f2fs/segment.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index ff363e686b7e..86dc28949192 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -592,8 +592,9 @@ static void f2fs_end_io_write(struct bio *bio, int err)
if (p->is_sync)
complete(p->wait);
- if (!get_pages(p->sbi, F2FS_WRITEBACK) && p->sbi->cp_task)
- wake_up_process(p->sbi->cp_task);
+ if (!get_pages(p->sbi, F2FS_WRITEBACK) &&
+ !list_empty(&p->sbi->cp_wait.task_list))
+ wake_up(&p->sbi->cp_wait);
kfree(p);
bio_put(bio);