]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
scsi: scsi_debug: write_same: fix error report
authorDouglas Gilbert <dgilbert@interlog.com>
Sun, 29 Oct 2017 14:47:19 +0000 (10:47 -0400)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 31 Oct 2017 16:28:05 +0000 (12:28 -0400)
The scsi_debug driver incorrectly suggests there is an error with the
SCSI WRITE SAME command when the number_of_logical_blocks is greater
than 1. It will also suggest there is an error when NDOB
(no data-out buffer) is set and the number_of_logical_blocks is
greater than 0. Both are valid, fix.

Signed-off-by: Douglas Gilbert <dgilbert@interlog.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/scsi_debug.c

index 3c15f6b63b075c7fbe20651e37b77dab29f56675..e4f037f0f38b9865babac1ef7161138a7fed989d 100644 (file)
@@ -3001,11 +3001,11 @@ static int resp_write_same(struct scsi_cmnd *scp, u64 lba, u32 num,
        if (-1 == ret) {
                write_unlock_irqrestore(&atomic_rw, iflags);
                return DID_ERROR << 16;
-       } else if (sdebug_verbose && (ret < (num * sdebug_sector_size)))
+       } else if (sdebug_verbose && !ndob && (ret < sdebug_sector_size))
                sdev_printk(KERN_INFO, scp->device,
-                           "%s: %s: cdb indicated=%u, IO sent=%d bytes\n",
+                           "%s: %s: lb size=%u, IO sent=%d bytes\n",
                            my_name, "write same",
-                           num * sdebug_sector_size, ret);
+                           sdebug_sector_size, ret);
 
        /* Copy first sector to remaining blocks */
        for (i = 1 ; i < num ; i++)