| From 5447ed6c968e7270b656afa273c2b79d15d82edd Mon Sep 17 00:00:00 2001 |
| From: Douglas Gilbert <dgilbert@interlog.com> |
| Date: Sun, 25 Apr 2010 12:30:23 +0200 |
| Subject: [SCSI] scsi_debug: virtual_gb ignores sector_size |
| |
| From: Douglas Gilbert <dgilbert@interlog.com> |
| |
| 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 | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/scsi/scsi_debug.c |
| +++ b/drivers/scsi/scsi_debug.c |
| @@ -956,7 +956,8 @@ static int resp_start_stop(struct scsi_c |
| 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; |
| } |