Jaegeuk Kim
50c63009f6
f2fs: avoid an infinite loop in f2fs_sync_dirty_inodes
...
If one read IO is always failing, we can fall into an infinite loop in
f2fs_sync_dirty_inodes. This happens during xfstests/generic/475.
[ 142.803335] Buffer I/O error on dev dm-1, logical block 8388592, async page read
...
[ 382.887210] submit_bio_noacct+0xdd/0x2a0
[ 382.887213] submit_bio+0x80/0x110
[ 382.887223] __submit_bio+0x4d/0x300 [f2fs]
[ 382.887282] f2fs_submit_page_bio+0x125/0x200 [f2fs]
[ 382.887299] __get_meta_page+0xc9/0x280 [f2fs]
[ 382.887315] f2fs_get_meta_page+0x13/0x20 [f2fs]
[ 382.887331] f2fs_get_node_info+0x317/0x3c0 [f2fs]
[ 382.887350] f2fs_do_write_data_page+0x327/0x6f0 [f2fs]
[ 382.887367] f2fs_write_single_data_page+0x5b7/0x960 [f2fs]
[ 382.887386] f2fs_write_cache_pages+0x302/0x890 [f2fs]
[ 382.887405] ? preempt_count_add+0x7a/0xc0
[ 382.887408] f2fs_write_data_pages+0xfd/0x320 [f2fs]
[ 382.887425] ? _raw_spin_unlock+0x1a/0x30
[ 382.887428] do_writepages+0xd3/0x1d0
[ 382.887432] filemap_fdatawrite_wbc+0x69/0x90
[ 382.887434] filemap_fdatawrite+0x50/0x70
[ 382.887437] f2fs_sync_dirty_inodes+0xa4/0x270 [f2fs]
[ 382.887453] f2fs_write_checkpoint+0x189/0x1640 [f2fs]
[ 382.887469] ? schedule_timeout+0x114/0x150
[ 382.887471] ? ttwu_do_activate+0x6d/0xb0
[ 382.887473] ? preempt_count_add+0x7a/0xc0
[ 382.887476] kill_f2fs_super+0xca/0x100 [f2fs]
[ 382.887491] deactivate_locked_super+0x35/0xa0
[ 382.887494] deactivate_super+0x40/0x50
[ 382.887497] cleanup_mnt+0x139/0x190
[ 382.887499] __cleanup_mnt+0x12/0x20
[ 382.887501] task_work_run+0x64/0xa0
[ 382.887505] exit_to_user_mode_prepare+0x1b7/0x1c0
[ 382.887508] syscall_exit_to_user_mode+0x27/0x50
[ 382.887510] do_syscall_64+0x48/0xc0
[ 382.887513] entry_SYSCALL_64_after_hwframe+0x44/0xae
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-03-04 09:15:46 -08:00
..
2022-01-16 07:36:49 +02:00
2022-01-20 08:52:55 +02:00
2021-10-18 14:43:22 -06:00
2022-01-22 08:33:37 +02:00
2021-10-20 21:09:02 -04:00
2021-08-19 09:02:55 +09:00
2021-06-29 10:53:48 -07:00
2022-01-22 08:33:38 +02:00
2022-01-21 21:36:28 +00:00
2022-01-22 10:59:32 +02:00
2022-01-19 23:14:34 -06:00
2021-11-09 10:02:51 -08:00
2021-08-25 07:58:49 +02:00
2021-10-18 14:43:22 -06:00
2021-10-25 19:11:50 -07:00
2022-01-06 15:47:41 +01:00
2022-01-12 11:11:34 -08:00
2021-12-03 18:44:06 +01:00
2022-01-12 15:46:11 -08:00
2022-01-10 11:00:04 +09:00
2021-12-04 08:58:54 -08:00
2022-01-22 08:33:38 +02:00
2022-03-04 09:15:46 -08:00
2022-01-20 08:52:54 +02:00
2022-01-21 21:36:28 +00:00
2022-01-18 10:05:48 +02:00
2022-01-12 11:11:34 -08:00
2021-11-09 10:11:53 -08:00
2022-01-20 08:52:54 +02:00
2021-12-21 21:44:27 +01:00
2021-10-18 12:28:53 -07:00
2022-01-15 16:30:30 +02:00
2022-01-12 15:46:11 -08:00
2021-10-19 12:51:02 +02:00
2022-01-22 08:33:37 +02:00
2022-01-17 05:49:30 +02:00
2021-11-03 09:23:25 -07:00
2021-12-03 14:36:21 +01:00
2022-01-20 13:39:13 +02:00
2022-01-17 05:49:30 +02:00
2021-06-29 10:53:48 -07:00
2022-01-21 21:36:28 +00:00
2022-01-17 05:49:30 +02:00
2021-10-04 22:02:17 +01:00
2022-01-17 05:49:30 +02:00
2022-01-20 10:41:01 +02:00
2022-01-22 08:33:35 +02:00
2022-01-15 16:30:24 +02:00
2022-01-22 08:33:38 +02:00
2022-01-23 06:20:44 +02:00
2021-06-29 10:53:48 -07:00
2021-12-31 14:37:43 -05:00
2021-12-03 18:44:06 +01:00
2022-01-22 08:33:37 +02:00
2022-01-10 11:48:37 -08:00
2021-09-21 08:36:48 -07:00
2021-11-06 16:40:48 -07:00
2021-11-09 10:11:53 -08:00
2021-11-18 11:52:22 +01:00
2022-01-18 16:50:47 -06:00
2022-01-15 16:30:24 +02:00
2021-10-05 16:35:05 +02:00
2021-11-09 10:02:52 -08:00
2022-01-16 10:15:32 +02:00
2021-12-23 22:30:38 +01:00
2021-12-15 13:08:34 +01:00
2021-08-19 09:02:55 +09:00
2022-01-17 07:26:43 +02:00
2021-09-27 11:26:21 -07:00
2021-09-22 10:56:34 -07:00
2022-01-22 11:04:27 +02:00
2021-12-17 16:56:35 +09:00
2022-01-22 08:33:34 +02:00
2021-09-19 22:35:37 -04:00
2021-11-17 09:26:09 +01:00
2021-08-18 22:08:24 +02:00
2021-09-05 10:15:05 -07:00
2021-10-08 12:06:02 -05:00
2022-01-20 08:52:54 +02:00
2021-06-29 10:53:50 -07:00
2022-01-22 08:33:35 +02:00
2021-12-16 15:49:51 -05:00
2022-01-22 08:33:36 +02:00
2021-11-06 13:30:32 -07:00
2021-12-18 08:04:53 -08:00
2022-01-22 08:33:36 +02:00
2021-10-25 10:36:24 -06:00
2021-09-03 09:58:10 -07:00
2021-09-06 07:20:56 -04:00
2022-01-22 08:33:35 +02:00
2022-01-22 08:33:36 +02:00
2021-09-03 10:08:28 -07:00
2022-01-22 08:33:36 +02:00
2021-12-13 10:55:30 -08:00
2021-08-23 01:25:40 -04:00
2022-01-18 09:23:19 +02:00
2021-12-09 14:09:36 -05:00
2022-01-12 13:45:12 -08:00
2022-01-22 08:33:35 +02:00
2021-12-16 15:49:51 -05:00
2022-01-18 19:28:43 -07:00
2022-01-21 16:07:21 +02:00
2022-01-17 05:49:30 +02:00
2022-01-15 16:30:25 +02:00
2022-01-07 13:40:39 +00:00
2021-07-25 22:33:03 -07:00
2021-10-18 20:22:03 -10:00
2021-11-03 15:43:08 +01:00
2022-01-22 08:33:36 +02:00
2022-01-22 08:33:36 +02:00
2022-01-22 08:33:38 +02:00
2022-01-22 08:33:36 +02:00
2022-01-22 08:33:36 +02:00
2021-12-05 10:28:57 +01:00
2022-01-22 08:33:36 +02:00
2021-12-05 10:28:57 +01:00
2021-12-03 18:44:06 +01:00
2021-10-26 12:20:50 -04:00
2022-01-08 00:28:41 -05:00
2022-01-11 09:03:05 -08:00
2021-11-09 10:02:52 -08:00
2022-01-17 05:49:30 +02:00
2021-08-17 11:47:43 +02:00
2022-01-22 08:33:38 +02:00
2021-10-22 08:36:55 -06:00
2022-01-22 08:33:36 +02:00
2021-08-10 17:57:22 +02:00
2022-01-15 16:30:27 +02:00