lkml.org 
[lkml]   [2012]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Pe: [PATCH v5 1/3] virtio-scsi: first version
    On Tue, Feb 14, 2012 at 07:53:26AM +1100, ronnie sahlberg wrote:
    > On Tue, Feb 14, 2012 at 7:42 AM, ronnie sahlberg
    > <ronniesahlberg@gmail.com> wrote:
    > > On Tue, Feb 14, 2012 at 2:12 AM, Hannes Reinecke <hare@suse.de> wrote:
    > >> On 02/13/2012 02:18 PM, Michael S. Tsirkin wrote:
    > >>> On Tue, Feb 14, 2012 at 12:13:36AM +1100, ronnie sahlberg wrote:
    > >>>> On Tue, Feb 14, 2012 at 12:00 AM, Michael S. Tsirkin <mst@redhat.com> wrote:
    > >>>>> On Mon, Feb 13, 2012 at 02:54:03PM +0200, Dor Laor wrote:
    > >>>>>> Only if you use the pci multi-function option but that kills
    > >>>>>> standard hot unplug
    > >>>>>
    > >>>>> It doesn't kill it as such, rather you can't unplug luns individually.
    > >>>>
    > >>>> Isnt that just a consequence of the current implementation rather than
    > >>>> a SCSI limitation?
    > >>>
    > >>> Yes.
    > >>>
    > >>>> A different way to do hoplug could be to flag all devices as removable
    > >>>> in the standard inq page then
    > >>>> leave the LUN there persistently and what you remove/add is not the
    > >>>> LUN device itself but just the media in the device.
    > >>>>
    > >>>> Instead of hot-plug remove the LUN,  hot-plug becomes "media eject" or
    > >>>> "media insert".
    > >>>> The device remains present all time, you never remove it, but instead
    > >>>> hot-plug controls if the media is present or not.
    > >>>>
    > >>>>
    > >>>> This would require implementing at least START_STOP_UNIT and
    > >>>> PREVENT_ALLOW_MEDIUM_REMOVAL opcode emulation from SBC.
    > >>>>
    > >>>>
    > >>>> regards
    > >>>> ronnie sahlberg
    > >>>
    > >>> That would work.
    > >>>
    > >> Or we simply use the Peripheral Qualifier that the device is gone;
    > >> eg we could simply set PQ = 1, return sense code 0x25/00 and be done
    > >> with ...
    > >>
    > >
    > > That is still similar to "rip a device out from the guest without notice"
    > > and can cause the guest to be "surprised".
    > >
    > >
    > > Removable media is standard feature in SCSI SBC (and other commandsets).
    > > The nice part of removable media is that it activates a contract
    > > between the device and the guest
    > > to prevent removal of the media when the guest depends on the media
    > > not being removed.
    > >
    > > I.e.  If you have a SBC device with the removable-media bit set,
    > > this is used to tell the initiator "this media can be removed, be
    > > prepared that this might happen".
    > > So when you mount such a SBC device in the guest, the guest will issue
    > > a "PREVENT_ALLOW_MEDIUM_REMOVAL"
    > > to tell the device "this medium is in use and may not be removed".
    > >
    >
    > What I mean is that if /dev/sdb is removable,
    > if you mount this as "mount /dev/sdb1 /mnt"
    > this will automatically cause the guest kernel to send a
    > PREVENT_ALLOW_MEDIUM_REMOVAL to /dev/sdb to prevent removal.
    >
    > When you "umount /dev/sdb1" the kernel/guest will automagically send
    > PREVENT_ALLOW_MEDIUM_REMOVEAL to /dev/sdb and allow removal of the
    > media again.
    >
    >
    > If you capture this command and track the "prevent/allow removal
    > status" you automatically get a channel where qemu will
    > know when it is safe to unplug the device and when it is not safe to
    > unplug the device.
    > This is a nice feature.

    Presumably there's a way for device to notify the OS
    that user requested removal, as well?
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2012-02-14 00:01    [W:0.066 / U:2.596 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site