All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Joshua Daley <jdaley@linux.ibm.com>
Cc: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org,
	virtualization@lists.linux.dev, mst@redhat.com,
	jasowang@redhat.com, pbonzini@redhat.com, eperezma@redhat.com,
	James.Bottomley@hansenpartnership.com,
	martin.petersen@oracle.com, mjrosato@linux.ibm.com,
	farman@linux.ibm.com, frankja@linux.ibm.com
Subject: Re: [PATCH v2 0/3] scsi: virtio_scsi: move INIT_WORK calls to virtscsi_init
Date: Sat, 14 Mar 2026 15:10:14 +0800	[thread overview]
Message-ID: <20260314071014.GC228741@fedora> (raw)
In-Reply-To: <20260312174256.1557045-1-jdaley@linux.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 2361 bytes --]

On Thu, Mar 12, 2026 at 06:42:53PM +0100, Joshua Daley wrote:
> Changelog v1 -> v2:
> 
> - Added 2 additional patches:
>   - [PATCH v2 1/3] scsi: virtio_scsi: kick event_list unconditionally
>     - Removes the conditions surrounding event_list operations (suggested by Stefan Hajnoczi <stefanha@redhat.com>)
>   - [PATCH v2 2/3] scsi: virtio_scsi: remove unnecessary fn declaration
>     - Removes virtscsi_handle_event() prototype (suggested by Eric Farman <farman@linux.ibm.com>)
> 
> - [PATCH 1/1] -> [PATCH v2 3/3] scsi: virtio_scsi: move INIT_WORK calls to virtscsi_init
>   - Removed the condition surrounding INIT_WORK calls
> 
> -----
> 
> v1 cover letter:
> 
> This patch avoids a kernel warning that may occur if a virtio_scsi
> controller is detached immediately following a disk detach. See the
> commit message for details. The following are instructions to
> produce the warning (without the proposed patch).
> 
> Timing matters--if all event work items call INIT_WORK before they are
> flushed by cancel_work_sync, then the warning will not occur.
> 
> The warning will occur consistently if a sleep is added in
> virtscsi_kick_event before the INIT_WORK call, like so:
> 
> #include <linux/delay.h>
> 
> static int virtscsi_kick_event(struct virtio_scsi *vscsi,
> 			       struct virtio_scsi_event_node *event_node)
> {
>     int err;
>     struct scatterlist sg;
>     unsigned long flags;
> 
>  -> msleep(1000);
>     INIT_WORK(&event_node->work, virtscsi_handle_event);
> 	
>     ...
> }
> 
> Then, just detach a disk and its controller in quick succession:
> 
> virsh detach-device --domain <domain> disk.xml; \
> virsh detach-device --domain <domain> controller.xml
> 
> where disk.xml and controller.xml are text files containing the XML
> of the disk and controller.
> 
> Or, with the libvirt python module:
> 
> domain.detachDevice(str(disk_xml))
> domain.detachDevice(str(controller_xml))
> 
> Joshua Daley (3):
>   scsi: virtio_scsi: kick event_list unconditionally
>   scsi: virtio_scsi: remove unnecessary fn declaration
>   scsi: virtio_scsi: move INIT_WORK calls to virtscsi_init
> 
>  drivers/scsi/virtio_scsi.c | 17 ++++++-----------
>  1 file changed, 6 insertions(+), 11 deletions(-)
> 
> -- 
> 2.34.1
> 

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

      parent reply	other threads:[~2026-03-14  7:20 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-12 17:42 [PATCH v2 0/3] scsi: virtio_scsi: move INIT_WORK calls to virtscsi_init Joshua Daley
2026-03-12 17:42 ` [PATCH v2 1/3] scsi: virtio_scsi: kick event_list unconditionally Joshua Daley
2026-03-16 14:37   ` Matthew Rosato
2026-03-12 17:42 ` [PATCH v2 2/3] scsi: virtio_scsi: remove unnecessary fn declaration Joshua Daley
2026-03-16 13:55   ` Matthew Rosato
2026-03-16 14:55     ` Joshua Daley
2026-03-12 17:42 ` [PATCH v2 3/3] scsi: virtio_scsi: move INIT_WORK calls to virtscsi_init Joshua Daley
2026-03-16 14:37   ` Matthew Rosato
2026-03-14  7:10 ` Stefan Hajnoczi [this message]

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=20260314071014.GC228741@fedora \
    --to=stefanha@redhat.com \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=eperezma@redhat.com \
    --cc=farman@linux.ibm.com \
    --cc=frankja@linux.ibm.com \
    --cc=jasowang@redhat.com \
    --cc=jdaley@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=mjrosato@linux.ibm.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=virtualization@lists.linux.dev \
    /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.