summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorDamien Le Moal <dlemoal@kernel.org>2025-08-17 00:05:52 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-08-28 17:24:31 +0300
commita39791e479bae2ec00aa4ae8b4222c968e55633f (patch)
tree86a040aef3fd462f20b1f543fabbca8074bedd2f /include/linux
parent1aaa8e9e4f5070e9d1446804dd43699a6fe9235e (diff)
downloadlinux-a39791e479bae2ec00aa4ae8b4222c968e55633f.tar.xz
block: Make REQ_OP_ZONE_FINISH a write operation
[ Upstream commit 3f66ccbaaef3a0c5bd844eab04e3207b4061c546 ] REQ_OP_ZONE_FINISH is defined as "12", which makes op_is_write(REQ_OP_ZONE_FINISH) return false, despite the fact that a zone finish operation is an operation that modifies a zone (transition it to full) and so should be considered as a write operation (albeit one that does not transfer any data to the device). Fix this by redefining REQ_OP_ZONE_FINISH to be an odd number (13), and redefine REQ_OP_ZONE_RESET and REQ_OP_ZONE_RESET_ALL using sequential odd numbers from that new value. Fixes: 6c1b1da58f8c ("block: add zone open, close and finish operations") Cc: stable@vger.kernel.org Signed-off-by: Damien Le Moal <dlemoal@kernel.org> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/r/20250625093327.548866-2-dlemoal@kernel.org Signed-off-by: Jens Axboe <axboe@kernel.dk> [ More renumbering... ] Signed-off-by: Sasha Levin <sashal@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/blk_types.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h
index 36ce3d0fb9f3..86da1c97e4ab 100644
--- a/include/linux/blk_types.h
+++ b/include/linux/blk_types.h
@@ -341,13 +341,13 @@ enum req_opf {
/* Close a zone */
REQ_OP_ZONE_CLOSE = 11,
/* Transition a zone to full */
- REQ_OP_ZONE_FINISH = 12,
+ REQ_OP_ZONE_FINISH = 13,
/* write data at the current zone write pointer */
- REQ_OP_ZONE_APPEND = 13,
+ REQ_OP_ZONE_APPEND = 15,
/* reset a zone write pointer */
- REQ_OP_ZONE_RESET = 15,
+ REQ_OP_ZONE_RESET = 17,
/* reset all the zone present on the device */
- REQ_OP_ZONE_RESET_ALL = 17,
+ REQ_OP_ZONE_RESET_ALL = 19,
/* Driver private requests */
REQ_OP_DRV_IN = 34,