]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
scsi_debug: virtual_gb ignores sector_size
authorDouglas Gilbert <dgilbert@interlog.com>
Sun, 25 Apr 2010 10:30:23 +0000 (12:30 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 12 May 2010 21:57:16 +0000 (14:57 -0700)
commit 5447ed6c968e7270b656afa273c2b79d15d82edd upstream.

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>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/scsi/scsi_debug.c

index c4103bef41b59cc8988be725fa74822bba9e5d5d..bc3e3636a3b8180cf1c04bd5ea44e37de1a92543 100644 (file)
@@ -914,7 +914,8 @@ static int resp_start_stop(struct scsi_cmnd * scp,
 static sector_t get_sdebug_capacity(void)
 {
        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
                return sdebug_store_sectors;
 }