Bart, On 2/14/17 14:11, Bart Van Assche wrote: > On Tue, 2017-02-14 at 13:42 +0900, Damien Le Moal wrote: >> I think so. But my understanding of REQ_TYPE_BLOCK_PC is that it is the >> type for requests issued internally (scsi_execute) of from things like >> the SG driver, so in essence, all requests not derived from a BIO... Is >> this correct ? If yes, then setting the BLOCK_TYPE_PC for >> REQ_OP_ZONE_REPORT (and REQ_OP_ZONE_RESET while at it) would break this >> model, wouldn't it ? > > Hello Damien, > > I think we want to keep the knowledge of which requests have a request size > that should be a multiple of the logical block size in the block layer core > or in the SCSI core but not in the mpt3sas driver. But I'm not sure what the > best approach is to do that. Should we use the request type, should we add a > new request attribute or should we add a new function? I agree. But the mpt3sas patch that introduced the problem is to solve problems with a buggy hardware in the first place... A quirck of some sort. So do we really need such a big change just the report zones exception ? (all other REQ_TYPE_FS commands either have no payload or the payload size is LBA aligned) Martin, James, Hannes, Please advise ! 4.10 is introducing zoned block device support, and from the first release that will be broken with mpt3sas HBAs if we do not patch this. Any preferred approach ? Best regards. -- Damien Le Moal, Ph.D. Sr. Manager, System Software Research Group, Western Digital Corporation Damien.LeMoal@xxxxxxx (+81) 0466-98-3593 (ext. 513593) 1 kirihara-cho, Fujisawa, Kanagawa, 252-0888 Japan www.wdc.com, www.hgst.com