linux-stable/fs/f2fs
Jaegeuk Kim 828add774f f2fs: prepare a waiter before entering io_schedule
This is to avoid sleep() in the waiter thread.

[   20.157753] ------------[ cut here ]------------
[   20.158393] do not call blocking ops when !TASK_RUNNING; state=2 set at [<0000000096354225>] prepare_to_wait+0xcd/0x430
[   20.159858] WARNING: CPU: 1 PID: 1152 at kernel/sched/core.c:7142 __might_sleep+0x149/0x1a0
...
[   20.176110]  __submit_merged_write_cond+0x191/0x310
[   20.176739]  f2fs_submit_merged_write+0x18/0x20
[   20.177323]  f2fs_wait_on_all_pages+0x269/0x2d0
[   20.177899]  ? block_operations+0x980/0x980
[   20.178441]  ? __kasan_check_read+0x11/0x20
[   20.178975]  ? finish_wait+0x260/0x260
[   20.179488]  ? percpu_counter_set+0x147/0x230
[   20.180049]  do_checkpoint+0x1757/0x2a50
[   20.180558]  f2fs_write_checkpoint+0x840/0xaf0
[   20.181126]  f2fs_sync_fs+0x287/0x4a0

Reported-by: Eric Biggers <ebiggers@kernel.org>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2020-08-03 20:54:58 -07:00
..
acl.c f2fs: Replace spaces with tab 2019-05-08 21:23:11 -07:00
acl.h f2fs: Use the correct style for SPDX License Identifier 2020-05-08 06:55:55 -07:00
checkpoint.c f2fs: prepare a waiter before entering io_schedule 2020-08-03 20:54:58 -07:00
compress.c f2fs: compress: delay temp page allocation 2020-07-26 08:20:16 -07:00
data.c f2fs: compress: add sanity check during compressed cluster read 2020-08-03 10:32:51 -07:00
debug.c f2fs: show more debug info for per-temperature log 2020-07-07 21:51:45 -07:00
dir.c f2fs: fix typo in comment of f2fs_do_add_link 2020-07-07 21:51:45 -07:00
extent_cache.c f2fs: fix to wait page writeback before update 2020-07-07 21:51:45 -07:00
f2fs.h f2fs: replace test_and_set/clear_bit() with set/clear_bit() 2020-08-03 18:05:10 -07:00
file.c f2fs: make file immutable even if releasing zero compression block 2020-08-03 18:05:03 -07:00
gc.c f2fs: add GC_URGENT_LOW mode in gc_urgent 2020-07-07 21:51:49 -07:00
gc.h f2fs: Use the correct style for SPDX License Identifier 2020-05-08 06:55:55 -07:00
hash.c f2fs-for-5.8-rc1 2020-06-09 11:28:59 -07:00
inline.c f2fs: fix error path in do_recover_data() 2020-07-08 10:11:19 -07:00
inode.c f2fs: fix to wait page writeback before update 2020-07-07 21:51:45 -07:00
Kconfig f2fs: compress: support lzo-rle compress algorithm 2020-05-11 20:36:46 -07:00
Makefile f2fs: support data compression 2020-01-17 16:48:07 -08:00
namei.c f2fs: space related cleanup 2020-07-26 08:15:40 -07:00
node.c f2fs: space related cleanup 2020-07-26 08:15:40 -07:00
node.h f2fs: shrink spinlock coverage 2020-05-11 20:36:46 -07:00
recovery.c f2fs: fix error path in do_recover_data() 2020-07-08 10:11:19 -07:00
segment.c f2fs: update_sit_entry: Make the judgment condition of f2fs_bug_on more intuitive 2020-08-03 18:05:13 -07:00
segment.h f2fs: segment.h: delete a duplicated word 2020-07-20 15:47:38 -07:00
shrinker.c f2fs: fix inconsistent comments 2020-03-10 09:18:33 -07:00
super.c f2fs: compress: disable compression mount option if compression is off 2020-08-03 10:32:52 -07:00
sysfs.c f2fs: space related cleanup 2020-07-26 08:15:40 -07:00
trace.c f2fs: do not use mutex lock in atomic context 2019-03-05 19:58:06 -08:00
trace.h f2fs: Use the correct style for SPDX License Identifier 2020-05-08 06:55:55 -07:00
verity.c f2fs: use macro instead of f2fs verity version 2020-08-03 10:32:51 -07:00
xattr.c f2fs: space related cleanup 2020-07-26 08:15:40 -07:00
xattr.h f2fs: code cleanup by removing ifdef macro surrounding 2020-05-26 18:56:10 -07:00