瀏覽代碼

[SCSI] scsi_debug: virtual_gb ignores sector_size

In the scsi_debug driver, the virtual_gb option ignores the
sector_size, implicitly assuming that is 512 bytes.  So if
'virtual_gb=1 sector_size=4096' the result is an 8 GB (virtual) disk.

Signed-off-by: Douglas Gilbert <dgilbert@interlog.com>
Cc: Stable Tree <stable@kernel.org>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Douglas Gilbert 15 年之前
父節點
當前提交
5447ed6c96
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      drivers/scsi/scsi_debug.c

+ 2 - 1
drivers/scsi/scsi_debug.c

@@ -957,7 +957,8 @@ static int resp_start_stop(struct scsi_cmnd * scp,
 static sector_t get_sdebug_capacity(void)
 static sector_t get_sdebug_capacity(void)
 {
 {
 	if (scsi_debug_virtual_gb > 0)
 	if (scsi_debug_virtual_gb > 0)
-		return 2048 * 1024 * (sector_t)scsi_debug_virtual_gb;
+		return (sector_t)scsi_debug_virtual_gb *
+			(1073741824 / scsi_debug_sector_size);
 	else
 	else
 		return sdebug_store_sectors;
 		return sdebug_store_sectors;
 }
 }