问题复现:
(1)内核添加延时
[yebin@ceph-admin 15:35:16 ~/hulk-5.10-openeuler]$git diff
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index 19e2a4ccf8a2..ff47f68c15de 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -40,6 +40,7 @@
#include <linux/bitops.h>
#include <linux/iomap.h>
#include <linux/iversion.h>
+#include <linux/delay.h>
#include "ext4_jbd2.h"
#include "xattr.h"
@@ -1886,6 +1887,7 @@ static int __ext4_journalled_writepage(struct page *page,
get_page(page);
unlock_page(page);
mdelay(50);
handle = ext4_journal_start(inode, EXT4_HT_WRITE_PAGE,
ext4_writepage_trans_blocks(inode));
if (IS_ERR(handle)) {
(2)
mount /dev/sda -o data=journal /home/test
fsstress -d /home/test -p 10 -l 1000000000&
while true;do echo 3 > /proc/sys/vm/drop_caches;done &
复现结果:
[root@localhost ~]# [ 159.679349] ------------[ cut here ]------------
[ 159.680678] kernel BUG at fs/ext4/inode.c:1913!
[ 159.681588] invalid opcode: 0000 [#1] SMP KASAN PTI
[ 159.682526] CPU: 3 PID: 284 Comm: kworker/u64:6 Not tainted 5.10.0-862.14.0.6.x86_64-08413-g5f3321777517-dirty #267
[ 159.684124] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS ?-20190727_073836-buildvm-ppc64le-16.ppc.fedoraproject.org-3.fc31 04/01/2014
[ 159.684650] bash (2415): drop_caches: 3
[ 159.685850] Workqueue: writeback wb_workfn (flush-8:0)
[ 159.687189] RIP: 0010:__ext4_journalled_writepage+0xa04/0xc00
[ 159.687956] Code: 48 8d 7d 48 48 89 fa 48 c1 ea 03 80 3c 02 00 0f 85 f6 01 00 00 48 8b 45 48 48 8d 50 ff a8 01 48 0f 45 ea e9 42 ff ff ff 0f 0b <0f> 0b 48 c
[ 159.690470] RSP: 0018:ffff8881060ff250 EFLAGS: 00010246
[ 159.691169] RAX: 002fffff80040015 RBX: ffff888123875420 RCX: ffffffff91983a1f
[ 159.692163] RDX: 1ffffd4000dc71c0 RSI: 0000000000000008 RDI: ffffea0006e38e00
[ 159.693122] RBP: ffffea0006e38e00 R08: 0000000000000001 R09: fffff94000dc71c1
[ 159.694059] R10: ffffea0006e38e07 R11: fffff94000dc71c0 R12: ffff88812943dcb0
[ 159.695004] R13: 00000000002472ef R14: ffff88812943db50 R15: ffffea0006e38e20
[ 159.695935] FS: 0000000000000000(0000) GS:ffff8883ae780000(0000) knlGS:0000000000000000
[ 159.696998] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 159.697745] CR2: 00007f638ea45000 CR3: 0000000116a22000 CR4: 00000000000006e0
[ 159.698690] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 159.699617] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 159.700552] Call Trace:
[ 159.700886] ? __die_body+0x1b/0x60
[ 159.701362] ? die+0x2b/0x50
[ 159.701752] ? do_trap+0x1a5/0x260
[ 159.702216] ? __ext4_journalled_writepage+0xa04/0xc00
[ 159.702883] ? do_error_trap+0x8a/0xf0
[ 159.703385] ? __ext4_journalled_writepage+0xa04/0xc00
[ 159.704072] ? exc_invalid_op+0x4e/0x70
[ 159.704572] ? __ext4_journalled_writepage+0xa04/0xc00
[ 159.705259] ? asm_exc_invalid_op+0x12/0x17
[ 159.705806] ? __ext4_journalled_writepage+0x6ef/0xc00
[ 159.706497] ? __ext4_journalled_writepage+0xa04/0xc00
[ 159.707178] ext4_writepage+0x58f/0x840
[ 159.707682] ? page_referenced+0x5e0/0x5e0
[ 159.708301] ? __ext4_journalled_writepage+0xc00/0xc00
[ 159.709002] ? page_referenced_one+0x430/0x430
[ 159.709593] ? invalid_page_referenced_vma+0x10/0x10
[ 159.710261] ? page_mapping+0x124/0x550
[ 159.710967] __writepage+0x63/0x150
[ 159.711427] write_cache_pages+0x37a/0xd60
[ 159.711995] ? wait_for_stable_page+0x1a0/0x1a0
[ 159.712596] ? wait_on_page_writeback+0x210/0x210
[ 159.713236] ? virtscsi_queuecommand+0x658/0x10f0
[ 159.713861] generic_writepages+0xe6/0x160
[ 159.714418] ? balance_dirty_pages_ratelimited+0x4c0/0x4c0
[ 159.715222] ? write_cache_pages+0x1cc/0xd60
[ 159.715791] ? blk_mq_dequeue_from_ctx+0x8a0/0x8a0
[ 159.716436] ? elv_rb_del+0x3b/0x80
[ 159.716912] ext4_writepages+0xc0a/0x18b0
[ 159.717450] ? _raw_spin_unlock+0xa/0x10
[ 159.718002] ? dd_dispatch_request+0x4f7/0x940
[ 159.718586] ? blk_mq_do_dispatch_sched+0x1ee/0x9c0
[ 159.719236] ? mpage_map_and_submit_extent+0xfd0/0xfd0
[ 159.719887] ? blk_mq_sched_mark_restart_hctx+0x60/0x60
[ 159.720582] ? generic_writepages+0xf1/0x160
[ 159.721169] ? balance_dirty_pages_ratelimited+0x4c0/0x4c0
[ 159.721909] ? find_busiest_group+0x10c1/0x3720
[ 159.722536] ? do_raw_spin_lock+0x125/0x290
[ 159.723109] ? __blk_mq_sched_dispatch_requests+0x37e/0x470
[ 159.723832] ? elv_attempt_insert_merge+0xf4/0x3a0
[ 159.724473] ? blk_mq_do_dispatch_ctx+0x860/0x860
[ 159.725115] ? _raw_spin_unlock+0xa/0x10
[ 159.725630] ? dd_insert_requests+0x3a1/0x9d0
[ 159.726217] ? do_writepages+0xe0/0x260
[ 159.726711] ? mpage_map_and_submit_extent+0xfd0/0xfd0
[ 159.727391] do_writepages+0xe0/0x260
[ 159.727875] ? __blk_mq_run_hw_queue+0xa8/0x230
[ 159.728482] ? page_writeback_cpu_online+0x20/0x20
[ 159.729134] ? do_raw_spin_lock+0x125/0x290
[ 159.729685] ? rwlock_bug.part.0+0x90/0x90
[ 159.730243] ? do_raw_spin_lock+0x125/0x290
[ 159.730791] ? do_raw_spin_lock+0x125/0x290
[ 159.731353] __writeback_single_inode+0xa4/0x730
[ 159.731980] writeback_sb_inodes+0x46d/0xa40
[ 159.732538] ? redirty_tail_locked+0x1f0/0x1f0
[ 159.733145] ? wb_calc_thresh+0xd0/0xd0
[ 159.733653] ? queue_io+0x2ae/0x390
[ 159.734144] wb_writeback+0x210/0x660
[ 159.734630] ? __writeback_inodes_wb+0x210/0x210
[ 159.735243] ? __wake_up_common+0x560/0x560
[ 159.735795] ? rwlock_bug.part.0+0x90/0x90
[ 159.736354] ? get_nr_dirty_inodes+0xad/0x100
[ 159.736939] wb_workfn+0x232/0xac0
[ 159.737393] ? inode_wait_for_writeback+0x30/0x30
[ 159.738035] ? send_call_function_single_ipi+0x6f/0x150
[ 159.738721] ? do_raw_spin_unlock+0x55/0x230
[ 159.739296] ? try_to_wake_up+0xae9/0x1080
[ 159.739865] ? read_word_at_a_time+0xe/0x20
[ 159.740436] ? strscpy+0x96/0x2b0
[ 159.740882] process_one_work+0x625/0xf10
[ 159.741430] worker_thread+0x8f/0xc70
[ 159.741937] ? process_one_work+0xf10/0xf10
[ 159.742501] kthread+0x2dd/0x3e0
[ 159.742952] ? __kthread_cancel_work+0x170/0x170
[ 159.743556] ret_from_fork+0x22/0x2d
[ 159.744050] Modules linked in:
[ 159.744920] ---[ end trace 7e356fddf854a420 ]---
[ 159.745543] RIP: 0010:__ext4_journalled_writepage+0xa04/0xc00
[ 159.746343] Code: 48 8d 7d 48 48 89 fa 48 c1 ea 03 80 3c 02 00 0f 85 f6 01 00 00 48 8b 45 48 48 8d 50 ff a8 01 48 0f 45 ea e9 42 ff ff ff 0f 0b <0f> 0b 48 c
[ 159.748808] RSP: 0018:ffff8881060ff250 EFLAGS: 00010246
[ 159.749518] RAX: 002fffff80040015 RBX: ffff888123875420 RCX: ffffffff91983a1f
[ 159.750469] RDX: 1ffffd4000dc71c0 RSI: 0000000000000008 RDI: ffffea0006e38e00
[ 159.751420] RBP: ffffea0006e38e00 R08: 0000000000000001 R09: fffff94000dc71c1
[ 159.752376] R10: ffffea0006e38e07 R11: fffff94000dc71c0 R12: ffff88812943dcb0
[ 159.752737] bash (2415): drop_caches: 3
[ 159.753336] R13: 00000000002472ef R14: ffff88812943db50 R15: ffffea0006e38e20
[ 159.754888] FS: 0000000000000000(0000) GS:ffff8883ae780000(0000) knlGS:0000000000000000
[ 159.755980] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 159.756745] CR2: 00007f638ea45000 CR3: 0000000116a22000 CR4: 00000000000006e0
[ 159.757702] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 159.758677] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 159.759633] Kernel panic - not syncing: Fatal exception
[ 159.761180] Kernel Offset: 0x10000000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
[ 159.762601] ---[ end Kernel panic - not syncing: Fatal exception ]---
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论