Re: Pe: [PATCH v5 1/3] virtio-scsi: first version

From: Dor Laor
Date: Mon Feb 13 2012 - 02:58:43 EST


On 02/13/2012 09:05 AM, Christian Borntraeger wrote:
On 12/02/12 21:16, James Bottomley wrote:
Well, no-one's yet answered the question I had about why.

Just to give one example from a different angle:
In the big datacenters tape libraries are still very important, and lots
of them have a scsi attachement. virtio-blk certainly is not the right
way to handle those. Furthermore it seems even pretty hard to craft
a virtio-tape since most of those libraries have vendor specific library
controls (via sg). We would need to duplicate scsi generic (hint, hint :-)

virtio-scsi seems to be a basic duplication of virtio-blk except that it seems to
fix some problems virtio-blk has. Namely queue parameter discover,
which virtio-blk doesn't seem to do. There may also be a reason to cut
the stack lower down. Error handling is most often cited for this, but
no-one's satisfactorily explaned why it's better to do error handling in
the guest instead of the host.

Could someone please explain to me why you can't simply fix virtio-blk?

I dont think that virtio-scsi will replace virtio-blk everywhere. For non-scsi
block devices, image files or logical volumes virtio-blk seems to be the right
approach, I think.

+1

virtio-scsi is superior w.r.t:
- Device support: tapes, cdroms, other
- Does guest-host mapped multipath
- Supports plenty of virtual disks mapped to the guest w/o need for a
pci slot per each virtio-blk
- offload fancy/new/sophisticated scsi commands from the guest to the
storage array w/o need for qemu implementation. Example XCOPY.

There are some more goodies like ability to support windows guest clustering w/o hacky versions of scsi pass through over virtio-blk.
virtio-blk is also a candidate to change the request based towards bio based implementation, so sticking to it does not buy us too much.


Or would virtio-blk maintainers give a reason why they're unwilling to
have it fixed?

I dont consider virtio-blk broken. It just doesnt cover everything.

Christian

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/