From: "Michael S. Tsirkin" <mst@redhat.com>
To: Stefano Garzarella <sgarzare@redhat.com>
Cc: qemu-devel@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
Fam Zheng <fam@euphon.net>, Thomas Huth <thuth@redhat.com>,
qemu-stable@nongnu.org, Mark Kanda <mark.kanda@oracle.com>
Subject: Re: [PATCH] Revert "virtio-scsi: Send "REPORTED LUNS CHANGED" sense data upon disk hotplug events"
Date: Mon, 10 Jul 2023 15:40:20 -0400 [thread overview]
Message-ID: <20230710153942-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20230705071523.15496-1-sgarzare@redhat.com>
On Wed, Jul 05, 2023 at 09:15:23AM +0200, Stefano Garzarella wrote:
> This reverts commit 8cc5583abe6419e7faaebc9fbd109f34f4c850f2.
>
> That commit causes several problems in Linux as described in the BZ.
> In particular, after a while, other devices on the bus are no longer
> usable even if those devices are not affected by the hotunplug.
> This may be a problem in Linux, but we have not been able to identify
> it so far. So better to revert this patch until we find a solution.
>
> Also, Oracle, which initially proposed this patch for a problem with
> Solaris, seems to have already reversed it downstream:
> https://linux.oracle.com/errata/ELSA-2023-12065.html
>
> Suggested-by: Thomas Huth <thuth@redhat.com>
> Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2176702
> Cc: qemu-stable@nongnu.org
> Cc: Mark Kanda <mark.kanda@oracle.com>
> Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Seems safest to revert, but I'll let storage guys decide whether to
queue this.
> ---
> include/hw/scsi/scsi.h | 1 -
> hw/scsi/scsi-bus.c | 18 ------------------
> hw/scsi/virtio-scsi.c | 2 --
> 3 files changed, 21 deletions(-)
>
> diff --git a/include/hw/scsi/scsi.h b/include/hw/scsi/scsi.h
> index e2bb1a2fbf..7c8adf10b1 100644
> --- a/include/hw/scsi/scsi.h
> +++ b/include/hw/scsi/scsi.h
> @@ -198,7 +198,6 @@ SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, BlockBackend *blk,
> BlockdevOnError rerror,
> BlockdevOnError werror,
> const char *serial, Error **errp);
> -void scsi_bus_set_ua(SCSIBus *bus, SCSISense sense);
> void scsi_bus_legacy_handle_cmdline(SCSIBus *bus);
>
> SCSIRequest *scsi_req_alloc(const SCSIReqOps *reqops, SCSIDevice *d,
> diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
> index f80f4cb4fc..42a915f8b7 100644
> --- a/hw/scsi/scsi-bus.c
> +++ b/hw/scsi/scsi-bus.c
> @@ -1617,24 +1617,6 @@ static int scsi_ua_precedence(SCSISense sense)
> return (sense.asc << 8) | sense.ascq;
> }
>
> -void scsi_bus_set_ua(SCSIBus *bus, SCSISense sense)
> -{
> - int prec1, prec2;
> - if (sense.key != UNIT_ATTENTION) {
> - return;
> - }
> -
> - /*
> - * Override a pre-existing unit attention condition, except for a more
> - * important reset condition.
> - */
> - prec1 = scsi_ua_precedence(bus->unit_attention);
> - prec2 = scsi_ua_precedence(sense);
> - if (prec2 < prec1) {
> - bus->unit_attention = sense;
> - }
> -}
> -
> void scsi_device_set_ua(SCSIDevice *sdev, SCSISense sense)
> {
> int prec1, prec2;
> diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
> index 45b95ea070..1f56607100 100644
> --- a/hw/scsi/virtio-scsi.c
> +++ b/hw/scsi/virtio-scsi.c
> @@ -1080,7 +1080,6 @@ static void virtio_scsi_hotplug(HotplugHandler *hotplug_dev, DeviceState *dev,
>
> virtio_scsi_acquire(s);
> virtio_scsi_push_event(s, &info);
> - scsi_bus_set_ua(&s->bus, SENSE_CODE(REPORTED_LUNS_CHANGED));
> virtio_scsi_release(s);
> }
> }
> @@ -1112,7 +1111,6 @@ static void virtio_scsi_hotunplug(HotplugHandler *hotplug_dev, DeviceState *dev,
> if (virtio_vdev_has_feature(vdev, VIRTIO_SCSI_F_HOTPLUG)) {
> virtio_scsi_acquire(s);
> virtio_scsi_push_event(s, &info);
> - scsi_bus_set_ua(&s->bus, SENSE_CODE(REPORTED_LUNS_CHANGED));
> virtio_scsi_release(s);
> }
> }
> --
> 2.41.0
next prev parent reply other threads:[~2023-07-10 19:41 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-05 7:15 [PATCH] Revert "virtio-scsi: Send "REPORTED LUNS CHANGED" sense data upon disk hotplug events" Stefano Garzarella
2023-07-05 7:51 ` Thomas Huth
2023-07-05 12:28 ` Mark Kanda
2023-07-05 12:36 ` Stefano Garzarella
2023-07-07 15:57 ` Mark Kanda
2023-07-11 8:12 ` Stefano Garzarella
2023-07-10 19:40 ` Michael S. Tsirkin [this message]
2023-07-12 8:12 ` Paolo Bonzini
2023-08-03 20:03 ` Michael S. Tsirkin
2023-07-11 17:06 ` Stefano Garzarella
2023-07-11 17:06 ` Stefano Garzarella
2023-07-11 17:41 ` Stefan Hajnoczi
2023-07-11 17:41 ` Stefan Hajnoczi
2023-07-12 8:28 ` Stefano Garzarella
2023-07-12 8:28 ` Stefano Garzarella
2023-07-12 13:40 ` Christoph Hellwig
2023-07-12 13:40 ` Christoph Hellwig
2023-07-12 14:26 ` Paolo Bonzini
2023-07-12 14:26 ` Paolo Bonzini
2023-07-11 20:21 ` Mike Christie
2023-07-11 20:21 ` Mike Christie
2023-07-12 8:06 ` Paolo Bonzini
2023-07-12 8:06 ` Paolo Bonzini
2023-07-12 10:14 ` Stefano Garzarella
2023-07-12 10:14 ` Stefano Garzarella
2023-07-12 14:20 ` Stefano Garzarella
2023-07-12 14:20 ` Stefano Garzarella
2023-07-12 8:35 ` Paolo Bonzini
2023-07-12 8:35 ` Paolo Bonzini
2023-07-12 10:24 ` Stefano Garzarella
2023-07-12 10:24 ` Stefano Garzarella
2023-08-03 19:36 ` Michael S. Tsirkin
2023-08-03 19:56 ` Michael S. Tsirkin
2023-08-03 20:02 ` Michael S. Tsirkin
2023-08-03 21:26 ` Stefano Garzarella
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=20230710153942-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=fam@euphon.net \
--cc=mark.kanda@oracle.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-stable@nongnu.org \
--cc=sgarzare@redhat.com \
--cc=thuth@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.