Patch "scsi: target/iblock: fix WRITE SAME zeroing" has been added to the 5.6-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    scsi: target/iblock: fix WRITE SAME zeroing

to the 5.6-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     scsi-target-iblock-fix-write-same-zeroing.patch
and it can be found in the queue-5.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit e5c3c8ebe37a77bbbd94876f7b1cb8dcb6f4fb1a
Author: David Disseldorp <ddiss@xxxxxxx>
Date:   Sun Apr 19 18:31:09 2020 +0200

    scsi: target/iblock: fix WRITE SAME zeroing
    
    commit 1d2ff149b263c9325875726a7804a0c75ef7112e upstream.
    
    SBC4 specifies that WRITE SAME requests with the UNMAP bit set to zero
    "shall perform the specified write operation to each LBA specified by the
    command".  Commit 2237498f0b5c ("target/iblock: Convert WRITE_SAME to
    blkdev_issue_zeroout") modified the iblock backend to call
    blkdev_issue_zeroout() when handling WRITE SAME requests with UNMAP=0 and a
    zero data segment.
    
    The iblock blkdev_issue_zeroout() call incorrectly provides a flags
    parameter of 0 (bool false), instead of BLKDEV_ZERO_NOUNMAP.  The bool
    false parameter reflects the blkdev_issue_zeroout() API prior to commit
    ee472d835c26 ("block: add a flags argument to (__)blkdev_issue_zeroout")
    which was merged shortly before 2237498f0b5c.
    
    Link: https://lore.kernel.org/r/20200419163109.11689-1-ddiss@xxxxxxx
    Fixes: 2237498f0b5c ("target/iblock: Convert WRITE_SAME to blkdev_issue_zeroout")
    Reviewed-by: Bart Van Assche <bvanassche@xxxxxxx>
    Signed-off-by: David Disseldorp <ddiss@xxxxxxx>
    Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

diff --git a/drivers/target/target_core_iblock.c b/drivers/target/target_core_iblock.c
index 51ffd5c002dee..1c181d31f4c87 100644
--- a/drivers/target/target_core_iblock.c
+++ b/drivers/target/target_core_iblock.c
@@ -432,7 +432,7 @@ iblock_execute_zero_out(struct block_device *bdev, struct se_cmd *cmd)
 				target_to_linux_sector(dev, cmd->t_task_lba),
 				target_to_linux_sector(dev,
 					sbc_get_write_same_sectors(cmd)),
-				GFP_KERNEL, false);
+				GFP_KERNEL, BLKDEV_ZERO_NOUNMAP);
 	if (ret)
 		return TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE;
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux