On 9/16/17 06:02, Bart Van Assche wrote: > On Fri, 2017-09-15 at 19:51 +0200, hch@xxxxxx wrote: >> On Fri, Sep 15, 2017 at 02:51:03PM +0000, Bart Van Assche wrote: >>> On Fri, 2017-09-15 at 19:06 +0900, Damien Le Moal wrote: >>>> Rearrange sd_zbc_setup() to include use_16_for_rw and use_10_for_rw >>>> assignments and move the calculation of sdkp->zone_shift together >>>> with the assignment of the verified zone_blocks value in >>>> sd_zbc_check_zone_size(). >>> >>> Both functions are called from inside block_device_operations.revalidate_disk. >>> Isn't that too late to set use_1[06]_for_rw? Shouldn't both be set just after >>> the slave_alloc callback has been called? >> >> Hmm. sd_read_capacity already is called from the same path and seems >> to work.. > > Hello Christoph, > > My concern is that if both a SCSI LLD and the ZBC code set use_1[06]_for_rw > that these settings may conflict. Should the ZBC code e.g. refuse that the sd > driver is attached to a ZBC disk controlled by a SCSI LLD that supports > use_10_for_rw but not use_16_for_rw? rw16 is mandatory for ZBC drives. So it has to be set to true. If the HBA does not support rw16 (why would that happen ?), then the disk should not be used. Cheers. -- Damien Le Moal Western Digital Research