Re: [PATCH] SCSI driver for VMware's virtual HBA.

Ric Wheeler
2009-09-03T21:27:45Z

On 09/03/2009 04:31 PM, Dmitry Torokhov wrote:
> On Thursday 03 September 2009 01:03:02 pm James Bottomley wrote:
>
>>>> I'm not really asking you to standardise anything (yet). I was more
>>>> probing for why you hadn't included any of the SCSI control plane
>>>> interfaces and what lead you do produce a different design from the
>>>> current patterns in virtual I/O. I think what I'm hearing is "Because
>>>> we didn't look at how modern SCSI drivers are constructed" and "Because
>>>> we didn't look at how virtual I/O is currently done in Linux". That's
>>>> OK (it's depressingly familiar in drivers),
>>>>
>>> I am sorry that's not the case, the reason we have different design as I
>>> have mentioned above is because we want a generic mechanism which works
>>> for all/most of the GOS's out their and doesn't need to be specific to
>>> Linux.
>>>
>> Slightly confused now ... you're saying you did look at the transport
>> class and virtio? But you chose not to do a virtio like interface (for
>> reasons which I'm still not clear on) ...
>>
> Virtio is Linux-specific and is not available on older kernels which
> our hypervisor/PVSCSI combination does support. Even if we were to use
> virtio-like schema in the hypervisor code we would have to re-implement
> much of the virtio code for kernels earlier than those shipped in '07
> and do the same for other operating systems for no apparent benefit.
> The PCI device abstraction is self-contained and works well on Windows,
> Linux and other guest operating systems and so it was chosen.
>
>

Several arguments have a history of never winning when you try to get a
new bit of code in linux.

Number one in the bad justifications is that your design is good because
it avoids being "linux specific" closely followed by needing to backport :-)

ric