On 2020/01/29 3:15, Greg Kroah-Hartman wrote: > On Tue, Jan 28, 2020 at 07:02:31PM +0100, Pavel Machek wrote: >> Hi! >> >>> From: Masato Suzuki <masato.suzuki@xxxxxxx> >>> >>> >> >>> ZBC/ZAC report zones command may return less bytes than requested if the >>> number of matching zones for the report request is small. However, unlike >>> read or write commands, the remainder of incomplete report zones commands >>> cannot be automatically requested by the block layer: the start sector of >>> the next report cannot be known, and the report reply may not be 512B >>> aligned for SAS drives (a report zone reply size is always a multiple of >>> 64B). The regular request completion code executing bio_advance() and >>> restart of the command remainder part currently causes invalid zone >>> descriptor data to be reported to the caller if the report zone size is >>> smaller than 512B (a case that can happen easily for a report of the last >>> zones of a SAS drive for example). >> >> What is the story here? Mainline does not seem to have this patch, so >> this is not the case of "upstream commit xxx" line simply missing. If >> the same bug is fixed in mainline different way, it would be nice to >> point to that commit.. > > Yes, this is not needed in 5.4 as it was rewritten differently there. Correct. REQ_OP_ZONE_REPORT was dropped with kernel 4.20 and report zones is now handled through a device file method with scsi_execute() instead of a BIO. So this bug does not exist in kernels 4.20 and upward. > > thanks, > > greg k-h > -- Damien Le Moal Western Digital Research