scsi: scsi_debug: Make sdebug_build_parts() respect virtual_gb
authorJohn Pittman <jpittman@redhat.com>
Wed, 2 Sep 2020 21:14:34 +0000 (17:14 -0400)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 3 Sep 2020 02:49:54 +0000 (22:49 -0400)
If virtual_gb is passed while using num_parts, when creating the
partitions, virtual_gb is not respected.  Set num_sectors using
get_sdebug_capacity() to pull virtual_gb if set.

Link: https://lore.kernel.org/r/20200902211434.9979-3-jpittman@redhat.com
Acked-by: Douglas Gilbert <dgilbert@interlog.com>
Signed-off-by: John Pittman <jpittman@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/scsi_debug.c

index 87bbd09..0a98bdb 100644 (file)
@@ -5276,7 +5276,7 @@ static void sdebug_build_parts(unsigned char *ramp, unsigned long store_size)
                sdebug_num_parts = SDEBUG_MAX_PARTS;
                pr_warn("reducing partitions to %d\n", SDEBUG_MAX_PARTS);
        }
-       num_sectors = (int)sdebug_store_sectors;
+       num_sectors = (int)get_sdebug_capacity();
        sectors_per_part = (num_sectors - sdebug_sectors_per)
                           / sdebug_num_parts;
        heads_by_sects = sdebug_heads * sdebug_sectors_per;