#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@xxxxxx> 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@xxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> ... % 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.