On Mon, Apr 18, 2016 at 10:34 AM, Jinpu Wang
<[email protected]> wrote:
> On Sat, Apr 16, 2016 at 3:50 AM, Christoph Hellwig <[email protected]> wrote:
>>> -     blk_queue_max_discard_sectors(brd->brd_queue, UINT_MAX);
>>> +     blk_queue_max_discard_sectors(brd->brd_queue, UINT_MAX >> 9);
>>
>> Shouldn't we fix the issue by capping to UINT_MAX >> 9 inside
>> blk_queue_max_discard_sectors?  That way we'll prevent against having
>> issues like this in any other driver as well.
>
>
> Thanks Christoph, make sense to me, will rework it to this way.
>
> Regards,
> Jack
It turns out, the real fix is here:

commit 5e4298be45e83ecdffaabb370eea9396889b07f1
Author: Bart Van Assche <[email protected]>
Date: Tue Dec 15 16:38:22 2015 +0100
brd: Fix discard request processing
Avoid that discard requests with size => PAGE_SIZE fail with
-EIO. Refuse discard requests if the discard size is not a
multiple of the page size.
Fixes: 2dbe54957636 ("brd: Refuse improperly aligned discard requests")
Signed-off-by: Bart Van Assche <[email protected]>
Reviewed-by: Jan Kara <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Robert Elliot <[email protected]>
Cc: stable <[email protected]> # v4.4+
Signed-off-by: Jens Axboe <[email protected]>

Reply via email to