From: Hannes Reinecke <hare@suse.de>
To: dm-devel@redhat.com
Subject: Re: [PATCH] dm-mpath: do not change SCSI device handler
Date: Thu, 04 Apr 2013 08:47:07 +0200 [thread overview]
Message-ID: <515D21EB.8010701@suse.de> (raw)
In-Reply-To: <Pine.LNX.4.64.1304022000390.27554@file.rdu.redhat.com>
On 04/03/2013 02:04 AM, Mikulas Patocka wrote:
> Hi
>
> This fixes BZ 912245 and 902595.
>
> Mikulas
>
> ---
>
> dm-mpath: do not change SCSI device handler
>
> This patch prevents the multipath target from changing the device handler.
> This fixes a kernel crash that can happen when changing the device
> handler.
>
> When we reload a multipath device, there are two instances of the
> multipath target - the first instance that is active and the second
> instance that is being constructed with "ctr" method.
>
> If the multipath constructor finds out that the device is using a
> different device handler, it detaches the existing handler and attaches a
> new handler. However, the first instance of the multipath target still
> exists and processes requests. If the first instance sends some
> path-management request with scsi_dh_activate and the second instance
> detaches the device handler while the path-management request is in
> flight, a crash happens. The reason for the crash is that the endio
> routine for the path-management request is working with structures that
> were freed when the handler was detached.
>
> There is no practical need to change device handlers on an active device,
> so this patch disables it.
>
> Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
>
NACK.
This kills multipath startup when scsi_dh_* modules are already loaded.
After boot scsi_dh_* modules might already be loaded without
multipath running.
Multipath might have defined other hardware handlers in the
configuration file, and will re-attach them on startup.
With this patch multipath cannot configure the devices properly and
will abort.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
next prev parent reply other threads:[~2013-04-04 6:47 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-03 0:04 [PATCH] dm-mpath: do not change SCSI device handler Mikulas Patocka
2013-04-03 13:32 ` Mike Snitzer
2013-04-03 20:54 ` Mikulas Patocka
2013-04-04 6:47 ` Hannes Reinecke [this message]
2013-04-04 12:24 ` Mike Snitzer
2013-04-04 12:55 ` Mikulas Patocka
2013-04-04 13:16 ` Mike Snitzer
2013-04-04 13:36 ` Mikulas Patocka
2013-04-04 14:20 ` Mike Snitzer
2013-04-04 15:13 ` Mikulas Patocka
2013-04-04 15:38 ` Mikulas Patocka
2013-04-08 21:50 ` [PATCH 1/2] [SCSI] scsi_dh: add scsi_dh_alloc_data Mike Snitzer
2013-04-08 21:50 ` [PATCH 2/2] dm mpath: attach scsi_dh during table resume Mike Snitzer
2013-04-22 22:33 ` Mike Snitzer
2013-04-25 13:48 ` Mikulas Patocka
2013-04-25 14:17 ` Mike Snitzer
2013-04-25 14:50 ` Mikulas Patocka
2013-04-25 15:27 ` Bryn M. Reeves
2013-04-25 15:37 ` Mike Snitzer
2013-04-25 15:44 ` Bryn M. Reeves
2013-04-25 15:31 ` Mike Snitzer
2013-04-26 6:05 ` Hannes Reinecke
2013-04-26 13:29 ` Mike Snitzer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=515D21EB.8010701@suse.de \
--to=hare@suse.de \
--cc=dm-devel@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.