On Wed, Dec 24 2014 at 8:02am -0500, Bart Van Assche <bvanassche@xxxxxxx> wrote: > On 12/23/14 22:42, Mike Snitzer wrote: > > I've rebased with this fix folded into both the 'for-next' and > > 'dm-for-3.20-blk-mq' branches of linux-dm.git > > Thanks, that's appreciated. However, with this tree I ran into a > different issue: > > BUG: unable to handle kernel NULL pointer dereference at 00000000000002a0 > IP: [<ffffffff811b2d18>] blk_account_io_completion+0x48/0x90 > PGD 8150b6067 PUD 8150b4067 PMD 0 > Oops: 0000 [#1] SMP ... > Call Trace: > <IRQ> > [<ffffffff811b2d9a>] blk_update_request+0x3a/0x300 > [<ffffffffa000902f>] scsi_end_request+0x2f/0x1e0 [scsi_mod] > [<ffffffffa000b451>] scsi_io_completion+0x101/0x690 [scsi_mod] > [<ffffffffa000124a>] scsi_finish_command+0xca/0x130 [scsi_mod] > [<ffffffffa000abff>] scsi_softirq_done+0x12f/0x160 [scsi_mod] > [<ffffffff811ba1de>] __blk_mq_complete_request_remote+0xe/0x10 > [<ffffffff8109ea6d>] generic_smp_call_function_single_interrupt+0x5d/0x150 > [<ffffffff8102c382>] smp_call_function_single_interrupt+0x22/0x40 > [<ffffffff813e925a>] call_function_single_interrupt+0x6a/0x70 > <EOI> > [<ffffffff812f0b15>] ? cpuidle_enter_state+0x55/0xc0 > [<ffffffff812f0b07>] ? cpuidle_enter_state+0x47/0xc0 > [<ffffffff812f0c32>] cpuidle_enter+0x12/0x20 > [<ffffffff81078bcc>] cpu_startup_entry+0x22c/0x2c0 > [<ffffffff8102ca1d>] start_secondary+0x14d/0x170 > > (gdb) list *(blk_account_io_completion+0x48) > 0xffffffff811b2d18 is in blk_account_io_completion (block/blk-core.c:2114). > 2109 struct hd_struct *part; > 2110 int cpu; > 2111 > 2112 cpu = part_stat_lock(); > 2113 part = req->part; > 2114 part_stat_add(cpu, part, sectors[rw], bytes >> 9); > 2115 part_stat_unlock(); > 2116 } > 2117 } > 2118 This is odd considering blk-mq defaults to setting QUEUE_FLAG_IO_STAT, so each request will have REQ_IO_STAT set. I'm not sure what would account for this NULL pointer (my code appears to be slightly different than yours but AFAICT req->part is NULL in your crash, which shouldn't ever happen if IO stats are enabled). Are you manually enabling/disabling IO stats via sysfs at all? -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel