Re: [PATCH] block: return ELEVATOR_DISCARD_MERGE if possible

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, May 21, 2022 at 11:56:26AM -0700, Gwendal Grignou wrote:
> From: Ming Lei <ming.lei@xxxxxxxxxx>
> 
> When merging one bio to request, if they are discard IO and the queue
> supports multi-range discard, we need to return ELEVATOR_DISCARD_MERGE
> because both block core and related drivers(nvme, virtio-blk) doesn't
> handle mixed discard io merge(traditional IO merge together with
> discard merge) well.
> 
> Fix the issue by returning ELEVATOR_DISCARD_MERGE in this situation,
> so both blk-mq and drivers just need to handle multi-range discard.
> 
> Reported-by: Oleksandr Natalenko <oleksandr@xxxxxxxxxxxxxx>
> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx>
> Tested-by: Oleksandr Natalenko <oleksandr@xxxxxxxxxxxxxx>
> Fixes: 2705dfb20947 ("block: fix discard request merge")
> Link: https://lore.kernel.org/r/20210729034226.1591070-1-ming.lei@xxxxxxxxxx
> Signed-off-by: Jens Axboe <axboe@xxxxxxxxx>
> 
> commit 866663b7b52d2 upstream.
> 
> Similar to commit 87aa69aa10b42 ("block: return ELEVATOR_DISCARD_MERGE if possible")
> in 5.10 kernel.
> 
> Conflicts:
>    block/blk-merge.c: function at a different place.
>    block/mq-deadline-main.c: not in 5.4, use mq-deadline.c instead.
> 
> Cc: <stable@xxxxxxxxxxxxxxx> # 5.4.y
> Signed-off-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx>

Now queued up, thanks.

greg k-h



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux