FAILED: patch "[PATCH] block: fix incorrect branching in blk_max_size_offset()" failed to apply to 5.9-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 5.9-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 65f33b35722952fa076811d5686bfd8a611a80fa Mon Sep 17 00:00:00 2001
From: Mike Snitzer <[email protected]>
Date: Fri, 4 Dec 2020 17:21:03 -0500
Subject: [PATCH] block: fix incorrect branching in blk_max_size_offset()
If non-zero 'chunk_sectors' is passed in to blk_max_size_offset() that override will be incorrectly ignored.
Old blk_max_size_offset() branching, prior to commit 3ee16db390b4, must be used only if passed 'chunk_sectors' override is zero.
include/linux/blkdev.h +6 -4
@@ -1076,10 +1076,12 @@ static inline unsigned int blk_max_size_offset(struct request_queue *q, sector_t offset, unsigned int chunk_sectors) { -if (!chunk_sectors && q->limits.chunk_sectors) - chunk_sectors = q->limits.chunk_sectors; -else -return q->limits.max_sectors; +if (!chunk_sectors) { +if (q->limits.chunk_sectors) + chunk_sectors = q->limits.chunk_sectors; +else +return q->limits.max_sectors; + }if (likely (is_power_of_2 (chunk_sectors))) chunk_sectors -= offset & (chunk_sectors -1 );