[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BYAPR04MB58166ABC7687F035123AFF6DE7050@BYAPR04MB5816.namprd04.prod.outlook.com>
Date: Wed, 29 Jan 2020 01:05:43 +0000
From: Damien Le Moal <Damien.LeMoal@....com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Pavel Machek <pavel@...x.de>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"stable@...r.kernel.org" <stable@...r.kernel.org>,
Masato Suzuki <masato.suzuki@....com>,
"Martin K. Petersen" <martin.petersen@...cle.com>
Subject: Re: [PATCH 4.19 59/92] sd: Fix REQ_OP_ZONE_REPORT completion handling
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@....com>
>>>
>>>
>>
>>> 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
Powered by blists - more mailing lists