]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: sd: Don't check if a write for REQ_ATOMIC
authorJohn Garry <john.g.garry@oracle.com>
Mon, 5 Aug 2024 11:33:14 +0000 (11:33 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 4 Oct 2024 14:37:44 +0000 (16:37 +0200)
[ Upstream commit 0c150b30d3d51a8c2e09fadd004a640fa12985c6 ]

Flag REQ_ATOMIC can only be set for writes, so don't check if the operation
is also a write in sd_setup_read_write_cmnd().

Fixes: bf4ae8f2e640 ("scsi: sd: Atomic write support")
Signed-off-by: John Garry <john.g.garry@oracle.com>
Link: https://lore.kernel.org/r/20240805113315.1048591-2-john.g.garry@oracle.com
Reviewed-by: Kanchan Joshi <joshi.k@samsung.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/sd.c

index 9db86943d04cf5a9d1ec4e33def566652455418c..76f488ef6a7ee2438634db3d653e56491988a024 100644 (file)
@@ -1382,7 +1382,7 @@ static blk_status_t sd_setup_read_write_cmnd(struct scsi_cmnd *cmd)
        if (protect && sdkp->protection_type == T10_PI_TYPE2_PROTECTION) {
                ret = sd_setup_rw32_cmnd(cmd, write, lba, nr_blocks,
                                         protect | fua, dld);
-       } else if (rq->cmd_flags & REQ_ATOMIC && write) {
+       } else if (rq->cmd_flags & REQ_ATOMIC) {
                ret = sd_setup_atomic_cmnd(cmd, lba, nr_blocks,
                                sdkp->use_atomic_write_boundary,
                                protect | fua);