Re: segfault the use xen and multipath devices

Bart Van Assche
2011-11-15T16:06:20Z

On Tue, Nov 15, 2011 at 12:12 PM, Hannes Reinecke <hare@suse.de> wrote:
> On 11/15/2011 11:00 AM, Vasiliy Tolstov wrote:
> > [ 1152.782672] Call Trace:
> > [ 1152.782760]  [<ffffffffa010dd13>] ? __scsi_queue_insert+0xbe/0xe5 [scsi_mod]
> > [ 1152.782862]  [<ffffffffa010e125>] ? scsi_io_completion+0x3eb/0x3fa [scsi_mod]
> > [ 1152.782964]  [<ffffffffa010abb0>] ? scsi_eh_flush_done_q+0xe3/0x104
> > [scsi_mod]
> > [ 1152.783093]  [<ffffffffa010bdc3>] ? scsi_error_handler+0x3cb/0x5b5 [scsi_mod]
> > [ 1152.783195]  [<ffffffffa010b9f8>] ? scsi_error_handler+0x0/0x5b5 [scsi_mod]
> > [ 1152.783295]  [<ffffffff81065c69>] ? kthread+0x79/0x81
> > [ 1152.783389]  [<ffffffff81012baa>] ? child_rip+0xa/0x20
> > [ 1152.783482]  [<ffffffff81011d61>] ? int_ret_from_sys_call+0x7/0x1b
> > [ 1152.783577]  [<ffffffff8101251d>] ? retint_restore_args+0x5/0x6
> > [ 1152.783673]  [<ffffffff8100ef4f>] ? xen_restore_fl_direct_end+0x0/0x1
> > [ 1152.783769]  [<ffffffff81012ba0>] ? child_rip+0x0/0x20Ouch. Requeue while the queue is dead.
>
> I'm pretty sure we need to fix the error handler for this case.

Apparently when a SCSI host is removed the SCSI queue is killed from
inside __scsi_remove_device() before the error handler thread is
stopped from scsi_host_dev_release(). That order doesn't seem correct
to me.

Bart.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html