On 23 October 2014 02:50, Martin K. Petersen <martin.peter...@oracle.com> wrote:
>>>>>> "Sitsofe" == Sitsofe Wheeler <sits...@gmail.com> writes:
>
> Sitsofe> 2. On top of the above, when a disk is "small" (has less than
> Sitsofe>    2^32 sectors which is typically < 2 TBytes in size) READ
> Sitsofe>    CAPACITY(16) won't be triggered.
>
> static int sd_try_rc16_first(struct scsi_device *sdp)
> {
>         if (sdp->host->max_cmd_len < 16)
>                 return 0;
>         if (sdp->try_rc_10_first)
>                 return 0;
>         if (sdp->scsi_level > SCSI_SPC_2)
>                 return 1;
>         if (scsi_device_protection(sdp))
>                 return 1;
>         return 0;
> }

Yes but since SCSI_SPC_2 was being advertised by the Hyper-V virtual
disk (and presumably device protection isn't advertised either) this
function was returning 0. That's why the patch in
https://lkml.org/lkml/2014/10/10/49 added yet another quirk. If if
SPC_3 were correctly advertised on Hyper-V  virtual disks would
TRY_VPD_PAGES still be needed to cope correctly with passthrough
disks?

What I didn't realise was that the TRY_VPD_PAGES quirk was purely to
fix WRITE_SAME Hyper-V issues and not to address anything thin
provisioning related. Having said that, why was the TRY_VPD_PAGES
quirk back-ported 3.14 without any users -
https://lkml.org/lkml/2014/9/15/733 ?

-- 
Sitsofe | http://sucs.org/~sits/
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to