f2fs: use wq_has_sleeper for cp_wait wait_queue
authorJaegeuk Kim <jaegeuk@kernel.org>
Tue, 26 Jan 2016 19:55:35 +0000 (11:55 -0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 23 Feb 2016 00:07:23 +0000 (16:07 -0800)
We need to use wq_has_sleeper including smp_mb to consider cp_wait concurrency.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/data.c

index 16cf8f0bc55f3fc18b600b63393bca221e850d61..90b3a3726d802c088a54cb1483cdb15d9088da07 100644 (file)
@@ -74,8 +74,7 @@ static void f2fs_write_end_io(struct bio *bio)
                dec_page_count(sbi, F2FS_WRITEBACK);
        }
 
-       if (!get_pages(sbi, F2FS_WRITEBACK) &&
-                       !list_empty(&sbi->cp_wait.task_list))
+       if (!get_pages(sbi, F2FS_WRITEBACK) && wq_has_sleeper(&sbi->cp_wait))
                wake_up(&sbi->cp_wait);
 
        bio_put(bio);