While debugging a partitionner software that has issues with disks bigger than 1Tb, I found out that scsi_debug doesn't manage more than 1Tb: # modprobe scsi_debug virtual_gb=1000 # cat /proc/partitions |fgrep sdc 8 32 1048576000 sdc # rmmod scsi_debug # modprobe scsi_debug virtual_gb=1100 # cat /proc/partitions |fgrep sdc 8 32 9223372035860725760 sdc dmesg shows that the additionnal 100Gb makes it loose sight: sd 16:0:0:0: [sdc] 2097152000 512-byte hardware sectors: (1.07 TB/1000 GiB) versus: sd 15:0:0:0: [sdc] 18446744071721451520 512-byte hardware sectors: (18.4 EB/15.9 EiB)
it seems invalid that you tested linux 2.5 ? And could you describe it more detailed as in REPORTING-BUGS ? I have also ITB disks and it cannot reproduce. Thanks.
Reply-To: dgilbert@interlog.com FUJITA Tomonori wrote: > On Tue, 21 Apr 2009 16:07:08 GMT > bugzilla-daemon@bugzilla.kernel.org wrote: > >> http://bugzilla.kernel.org/show_bug.cgi?id=13143 >> >> Summary: scsi_debug doesn't manage more than 1Tb >> Product: SCSI Drivers >> Version: 2.5 >> Platform: All >> OS/Version: Linux >> Tree: Mainline >> Status: NEW >> Severity: normal >> Priority: P1 >> Component: Other >> AssignedTo: scsi_drivers-other@kernel-bugs.osdl.org >> ReportedBy: tvignaud@mandriva.com >> Regression: No >> >> >> While debugging a partitionner software that has issues with disks bigger >> than >> 1Tb, I found out that scsi_debug doesn't manage more than 1Tb: >> >> # modprobe scsi_debug virtual_gb=1000 >> # cat /proc/partitions |fgrep sdc >> 8 32 1048576000 sdc >> # rmmod scsi_debug >> # modprobe scsi_debug virtual_gb=1100 >> # cat /proc/partitions |fgrep sdc >> 8 32 9223372035860725760 sdc >> >> >> dmesg shows that the additionnal 100Gb makes it loose sight: >> sd 16:0:0:0: [sdc] 2097152000 512-byte hardware sectors: (1.07 TB/1000 GiB) >> versus: >> sd 15:0:0:0: [sdc] 18446744071721451520 512-byte hardware sectors: (18.4 >> EB/15.9 EiB) > > > = > From: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> > Subject: [PATCH] scsi_debug: fix virtual disk larger than 1TB > > Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Douglas Gilbert <dgilbert@interlog.com> Wow, a 1 TB ram disk! > --- > drivers/scsi/scsi_debug.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c > index 213123b..41a2177 100644 > --- a/drivers/scsi/scsi_debug.c > +++ b/drivers/scsi/scsi_debug.c > @@ -887,7 +887,7 @@ 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 * scsi_debug_virtual_gb; > + return 2048 * 1024 * (sector_t)scsi_debug_virtual_gb; > else > return sdebug_store_sectors; > }
Reply-To: fujita.tomonori@lab.ntt.co.jp On Tue, 21 Apr 2009 16:07:08 GMT bugzilla-daemon@bugzilla.kernel.org wrote: > http://bugzilla.kernel.org/show_bug.cgi?id=13143 > > Summary: scsi_debug doesn't manage more than 1Tb > Product: SCSI Drivers > Version: 2.5 > Platform: All > OS/Version: Linux > Tree: Mainline > Status: NEW > Severity: normal > Priority: P1 > Component: Other > AssignedTo: scsi_drivers-other@kernel-bugs.osdl.org > ReportedBy: tvignaud@mandriva.com > Regression: No > > > While debugging a partitionner software that has issues with disks bigger > than > 1Tb, I found out that scsi_debug doesn't manage more than 1Tb: > > # modprobe scsi_debug virtual_gb=1000 > # cat /proc/partitions |fgrep sdc > 8 32 1048576000 sdc > # rmmod scsi_debug > # modprobe scsi_debug virtual_gb=1100 > # cat /proc/partitions |fgrep sdc > 8 32 9223372035860725760 sdc > > > dmesg shows that the additionnal 100Gb makes it loose sight: > sd 16:0:0:0: [sdc] 2097152000 512-byte hardware sectors: (1.07 TB/1000 GiB) > versus: > sd 15:0:0:0: [sdc] 18446744071721451520 512-byte hardware sectors: (18.4 > EB/15.9 EiB) = From: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Subject: [PATCH] scsi_debug: fix virtual disk larger than 1TB Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> --- drivers/scsi/scsi_debug.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c index 213123b..41a2177 100644 --- a/drivers/scsi/scsi_debug.c +++ b/drivers/scsi/scsi_debug.c @@ -887,7 +887,7 @@ 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 * scsi_debug_virtual_gb; + return 2048 * 1024 * (sector_t)scsi_debug_virtual_gb; else return sdebug_store_sectors; }
(In reply to comment #1) > it seems invalid that you tested linux 2.5 ? Version was auto filled by bugzilla. Really was 2.6.29.1 > And could you describe it more detailed as in REPORTING-BUGS ? All needed data was provided in initial comment. And it was enough in order to provide a fix. > I have also ITB disks and it cannot reproduce. Thanks. It's not about 1Tb disks but about the scsi_debug driver.
Reply-To: fujita.tomonori@lab.ntt.co.jp On Mon, 27 Apr 2009 10:41:00 GMT bugzilla-daemon@bugzilla.kernel.org wrote: > http://bugzilla.kernel.org/show_bug.cgi?id=13143 > > > > > > --- Comment #4 from Thierry Vignaud <tvignaud@mandriva.com> 2009-04-27 > 10:39:15 --- > (In reply to comment #1) > > it seems invalid that you tested linux 2.5 ? > > Version was auto filled by bugzilla. Really was 2.6.29.1 > > > And could you describe it more detailed as in REPORTING-BUGS ? > > All needed data was provided in initial comment. And it was enough in order > to > provide a fix. The patch is available: http://marc.info/?l=linux-scsi&m=124063464410711&w=2 Can you confirm that it fixes the problem?
It fixes it indeed. You can queue it for upstream :-) Reported-and-tested-by: Thierry Vignaud <tvignaud@mandriva.com>
Fix merged upstream quite a long time ago...