[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240518022646.GA450709@mit.edu>
Date: Fri, 17 May 2024 22:26:46 -0400
From: "Theodore Ts'o" <tytso@....edu>
To: dm-devel@...ts.linux.dev, fstests@...r.kernel.org,
linux-ext4@...r.kernel.org, regressions@...ts.linux.dev
Cc: Christoph Hellwig <hch@....de>, Mike Snitzer <snitzer@...nel.org>
Subject: [REGRESSION] dm: use queue_limits_set
#regzbot introduced: 1c0e720228ad
While doing final regression testing before sending a pull request for
the ext4 tree, I found a regression which was triggered by generic/347
and generic/405 on on multiple fstests configurations, including
both ext4/4k and xfs/4k.
It bisects cleanly to commit 1c0e720228ad ("dm: use
queue_limits_set"), and the resulting WARNING is attached below. This
stack trace can be seen for both generic/347 and generic/405. And if
I revert this commit on top of linux-next, the failure goes away, so
it pretty clearly root causes to 1c0e720228ad.
For now, I'll add generic/347 and generic/405 to my global exclude
file, but maybe we should consider reverting the commit if it can't be
fixed quickly?
Thanks,
- Ted
% git show 1c0e720228ad
commit 1c0e720228ad1c63bb487cdcead2558353b5a067
Author: Christoph Hellwig <hch@....de>
Date: Wed Feb 28 14:56:42 2024 -0800
dm: use queue_limits_set
Use queue_limits_set which validates the limits and takes care of
updating the readahead settings instead of directly assigning them to
the queue. For that make sure all limits are actually updated before
the assignment.
Signed-off-by: Christoph Hellwig <hch@....de>
Signed-off-by: Mike Snitzer <snitzer@...nel.org>
...
% git checkout 1c0e720228ad
% install-kconfig ; kbuild
% kvm-xfstests -c xfs/4k generic/347
BEGIN TEST 4k (1 test): XFS 4k block Fri May 17 22:03:06 EDT 2024
DEVICE: /dev/vdd
XFS_MKFS_OPTIONS: -bsize=4096
XFS_MOUNT_OPTIONS:
FSTYP -- xfs (debug)
PLATFORM -- Linux/x86_64 kvm-xfstests 6.9.0-rc2-xfstests-00006-g1c0e720228ad #335 SMP PREEMPT_DYNAMIC Fri May 17 22:02:37 EDT 2024
MKFS_OPTIONS -- -f -bsize=4096 /dev/vdc
MOUNT_OPTIONS -- /dev/vdc /vdc
[ 3.179146] XFS (vdd): EXPERIMENTAL online scrub feature in use. Use at your own risk!
generic/347 65s ... [22:03:06][ 3.389241] run fstests generic/347 at 2024-05-17 22:03:06
[ 4.032221] ------------[ cut here ]------------
[ 4.033087] WARNING: CPU: 1 PID: 30 at drivers/md/dm-bio-prison-v1.c:128 dm_cell_key_has_valid_range+0x3d/0x50
[ 4.034871] CPU: 1 PID: 30 Comm: kworker/u8:1 Not tainted 6.9.0-rc2-xfstests-00006-g1c0e720228ad #335
[ 4.035440] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[ 4.035829] Workqueue: dm-thin do_worker
[ 4.035998] RIP: 0010:dm_cell_key_has_valid_range+0x3d/0x50
[ 4.036236] Code: c1 48 29 d1 48 81 f9 00 04 00 00 77 1d 48 83 e8 01 48 c1 ea 0a b9 01 00 00 00 48 c1 e8 0a 48 39 c2 75 12 89 c8 c3 cc cc cc cc <0f> 0b 31 c9 89 c8 c3 cc cc cc cc 0f 0b 31 c9 eb e8 66 90 90 90 90
[ 4.037024] RSP: 0018:ffffc90000107d18 EFLAGS: 00010206
[ 4.037249] RAX: 0000000000000fff RBX: 0000000000000000 RCX: 0000000000000fff
[ 4.037556] RDX: 0000000000000000 RSI: 0000000000000fff RDI: ffffc90000107d28
[ 4.037923] RBP: ffff888009aa7b40 R08: ffff888009aa7bc0 R09: ffff888003e7b980
[ 4.038247] R10: 0000000000000008 R11: fefefefefefefeff R12: ffff8880097ca5b8
[ 4.038545] R13: 0000000000000fff R14: ffff8880097ca5b8 R15: ffff88800f4fc400
[ 4.038843] FS: 0000000000000000(0000) GS:ffff88807dd00000(0000) knlGS:0000000000000000
[ 4.039228] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 4.039472] CR2: 0000564ad92d7c00 CR3: 000000000f73e006 CR4: 0000000000770ef0
[ 4.039774] PKRU: 55555554
[ 4.039892] Call Trace:
[ 4.040000] <TASK>
`[ 4.040094] ? __warn+0x7b/0x120
[ 4.040235] ? dm_cell_key_has_valid_range+0x3d/0x50
[ 4.040473] ? report_bug+0x174/0x1c0
[ 4.040635] ? handle_bug+0x3a/0x70
[ 4.040789] ? exc_invalid_op+0x17/0x70
[ 4.040958] ? asm_exc_invalid_op+0x1a/0x20
[ 4.041163] ? dm_cell_key_has_valid_range+0x3d/0x50
[ 4.041397] process_discard_bio+0xba/0x190
[ 4.041597] process_thin_deferred_bios+0x290/0x3e0
[ 4.041806] process_deferred_bios+0xba/0x2e0
[ 4.041994] do_worker+0xf5/0x160
[ 4.042139] process_one_work+0x18a/0x3d0
[ 4.042311] worker_thread+0x285/0x3a0
[ 4.042470] ? __pfx_worker_thread+0x10/0x10
[ 4.042655] kthread+0xdd/0x110
[ 4.042795] ? __pfx_kthread+0x10/0x10
[ 4.042979] ret_from_fork+0x31/0x50
[ 4.043153] ? __pfx_kthread+0x10/0x10
[ 4.043317] ret_from_fork_asm+0x1a/0x30
[ 4.043490] </TASK>
[ 4.043586] ---[ end trace 0000000000000000 ]---
[ 4.043784] device-mapper: thin: Discard doesn't respect bio prison limits
[ 4.044142] device-mapper: thin: Discard doesn't respect bio prison limits
[ 4.044585] device-mapper: thin: Discard doesn't respect bio prison limits
[ 6.410678] device-mapper: thin: 253:2: reached low water mark for data device: sending event.
Powered by blists - more mailing lists