On Thu, Aug 03, 2017 at 03:27:00PM +0200, Hannes Reinecke wrote: > Instead of having an 'invisible' LUN0 (in case LUN 0 is not connected) > this patch maks LUN0 a enclosure service, exposing it to the OS. > > Signed-off-by: Hannes Reinecke <h...@suse.com> > --- > hw/scsi/scsi-bus.c | 56 > +++++++++++++++++++++++++++++++++++++++++++++++++++++- > 1 file changed, 55 insertions(+), 1 deletion(-) > > diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c > index 23c51de..c89e82d 100644 > --- a/hw/scsi/scsi-bus.c > +++ b/hw/scsi/scsi-bus.c > @@ -493,10 +493,11 @@ static bool scsi_target_emulate_inquiry(SCSITargetReq > *r) > if (r->req.lun != 0) { > r->buf[0] = TYPE_NO_LUN; > } else { > - r->buf[0] = TYPE_NOT_PRESENT | TYPE_INACTIVE; > + r->buf[0] = TYPE_ENCLOSURE; > r->buf[2] = 5; /* Version */ > r->buf[3] = 2 | 0x10; /* HiSup, response data format */ > r->buf[4] = r->len - 5; /* Additional Length = (Len - 1) - 4 */ > + r->buf[6] = 0x40; /* Enclosure service */ > r->buf[7] = 0x10 | (r->req.bus->info->tcq ? 0x02 : 0); /* Sync, TCQ. > */ > memcpy(&r->buf[8], "QEMU ", 8); > memcpy(&r->buf[16], "QEMU TARGET ", 16);
I would think this needs to be tied into machine type version, otherwise when you migrate old to new QEMU, LUN0 is suddenly going to change beneath the running guest ? Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|