Thread (104 messages) 104 messages, 13 authors, 2023-12-05

Re: [PATCH 19/21] scsi: sd: Add WRITE_ATOMIC_16 support

From: John Garry <john.g.garry@oracle.com>
Date: 2023-10-02 11:36:58
Also in: linux-block, linux-fsdevel, linux-nvme, linux-xfs, lkml

On 29/09/2023 18:59, Bart Van Assche wrote:
On 9/29/23 03:27, John Garry wrote:
quoted
+static blk_status_t sd_setup_atomic_cmnd(struct scsi_cmnd *cmd,
+                    sector_t lba, unsigned int nr_blocks,
+                    unsigned char flags)
+{
+    cmd->cmd_len  = 16;
+    cmd->cmnd[0]  = WRITE_ATOMIC_16;
+    cmd->cmnd[1]  = flags;
+    put_unaligned_be64(lba, &cmd->cmnd[2]);
+    cmd->cmnd[10] = 0;
+    cmd->cmnd[11] = 0;
+    put_unaligned_be16(nr_blocks, &cmd->cmnd[12]);
+    cmd->cmnd[14] = 0;
+    cmd->cmnd[15] = 0;
+
+    return BLK_STS_OK;
+}
Please store the 'dld' value in the GROUP NUMBER field. See e.g.
sd_setup_rw16_cmnd().
Are you sure that WRITE ATOMIC (16) supports dld?
quoted
@@ -1139,6 +1156,7 @@ static blk_status_t 
sd_setup_read_write_cmnd(struct scsi_cmnd *cmd)
      unsigned int nr_blocks = sectors_to_logical(sdp, 
blk_rq_sectors(rq));
      unsigned int mask = logical_to_sectors(sdp, 1) - 1;
      bool write = rq_data_dir(rq) == WRITE;
+    bool atomic_write = !!(rq->cmd_flags & REQ_ATOMIC) && write;
Please leave out the superfluous "!!".
ok, fine.

Thanks,
John
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help