On 23 October 2014 02:50, Martin K. Petersen <martin.petersen@xxxxxxxxxx> wrote: >>>>>> "Sitsofe" == Sitsofe Wheeler <sitsofe@xxxxxxxxx> 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 devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel