Stock 2.6.4 with CONFIG_LBD=y and qla2xxx driver, reports wrong device size
I have a stock 2.6.4 kernel with CONFIG_LBD=y turned on in my kernel (confirmed via /proc/config.gz) but when the module is loaded I still get
SCSI device sdb: 191162368 512-byte hdwr sectors (97875 MB) SCSI device sdb: drive cache: write through
sdb:
I expect to get 4,287,645MB as that is what my Infortrend RAID array is set up for a partition size. Is there something, in addition to the LBD support in 2.6 that I need to do with the SCSI driver itself, in the case the qla2300 drivers that come with 2.6.4, to allow larger than 2TB block devices?
Platform is Intel Xeon dual with 2GB of RAM. Base OS is fedora core 1 with changes to support 2.6 series kernels.
Smaller than 2TB file systems on the other hand work fine (aside from a strange performance issue where reads are not as fast as writes under both 2.4 and 2.6).
Thanks,
Terrence
Quoted 7 lines · Terrence Martin
I have a stock 2.6.4 kernel with
CONFIG_LBD=yturned on in my kernel (confirmed via/proc/config.gz) but when the module is loaded I still getSCSI device sdb: 191162368 512-byte hdwr sectors (97875 MB) SCSI device sdb: drive cache: write through
sdb:
Quoted 5 lines
I expect to get 4,287,645MB as that is what my Infortrend RAID array is set up for a partition size. Is there something, in addition to the LBD support in 2.6 that I need to do with the SCSI driver itself, in the case the qla2300 drivers that come with 2.6.4, to allow larger than 2TB block devices?
This looks to be a failure of the device. It's obviously reporting a size smaller than it actually is for some reason.
The LDB code has been successfully tested with SCSI on >2TB arrays.
James
RE: Stock 2.6.4 with CONFIG_LBD=y and qla2xxx driver, reports wrongdevice size
I think you have reached a 4T limit somewhere.
If you take your expected size, 4287645M, subtract 4T you get a number very close to your reported size!
4287645M
-4194304M (2^20)
---------
= 93341M
If you can, make the device size 100,000M smaller.
The size is wrapping past zero, I think.
The limit could also be 2T or 1T.
You must try just under 4T, 2T and 1T until you find a size that works.
Once you determine the limit, split the array into equal parts smaller than the limit. Then create a RAID0 with the smaller parts.
I hope I made this clear!
This is just a guess!!!!! But I think I am correct.
Guy
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of James Bottomley
Sent: Wednesday, March 24, 2004 4:25 PM
To: Terrence Martin
Cc: SCSI Mailing List
Subject: Re: Stock 2.6.4 with CONFIG_LBD=y and qla2xxx driver, reports wrongdevice size
Quoted 7 lines · Terrence Martin
I have a stock 2.6.4 kernel with
CONFIG_LBD=yturned on in my kernel (confirmed via/proc/config.gz) but when the module is loaded I still getSCSI device sdb: 191162368 512-byte hdwr sectors (97875 MB) SCSI device sdb: drive cache: write through
sdb:
Quoted 5 lines
I expect to get 4,287,645MB as that is what my Infortrend RAID array is set up for a partition size. Is there something, in addition to the LBD support in 2.6 that I need to do with the SCSI driver itself, in the case the qla2300 drivers that come with 2.6.4, to allow larger than 2TB block devices?
This looks to be a failure of the device. It's obviously reporting a size smaller than it actually is for some reason.
The LDB code has been successfully tested with SCSI on >2TB arrays.
James
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: Stock 2.6.4 with CONFIG_LBD=y and qla2xxx driver, reports wrongdevice size
Quoted 1 line · Guy
This is just a guess!!!!! But I think I am correct.
The standards are very explicit about what READ CAPACITY(10) should return for a >2TB device. sd detects this and retries with a READ CAPACITY(16).
There is no message in the log indicating this happened, so I think the device reported an incorrect size to READ CAPACITY(10). It may have reported its size with bit 33 lopped off, but that's still a device problem.
James
RE: Stock 2.6.4 with CONFIG_LBD=y and qla2xxx driver, reportswrongdevice size
Beyond my knowledge... Wish I was you! :)
But, if the device has a bug like "bit 33 lopped off". If he splits the array into 2 luns/devices then it may be fine. Then create the RAID0 with them.
Guy
-----Original Message-----
From: James Bottomley [mailto:[email protected]]
Sent: Wednesday, March 24, 2004 5:01 PM
To: Guy
Cc: 'Terrence Martin'; 'SCSI Mailing List'
Subject: RE: Stock 2.6.4 with CONFIG_LBD=y and qla2xxx driver, reportswrongdevice size
Quoted 1 line · Guy
This is just a guess!!!!! But I think I am correct.
The standards are very explicit about what READ CAPACITY(10) should return for a >2TB device. sd detects this and retries with a READ CAPACITY(16).
There is no message in the log indicating this happened, so I think the device reported an incorrect size to READ CAPACITY(10). It may have reported its size with bit 33 lopped off, but that's still a device problem.
James
Re: Stock 2.6.4 with CONFIG_LBD=y and qla2xxx driver, reportswrongdevice size
Thanks Guy, I think I might just do that, create an MD device out of 3 equal sized disks.
Where I may have gone wrong and gotten confused is that the Logical Drive limit is 64TB. However I have now read, and I assume it is still current, that each LUN is only 32bits limiting a LUN to 2TB. You then need some sort of additional RAID (hardware or software) presumably to map those LUNS to a single disk.
Linux RAID0 should handle this nicely I think.
Thanks
Terrence
Quoted 37 lines · Guy
Beyond my knowledge... Wish I was you! :)
But, if the device has a bug like "bit 33 lopped off". If he splits the array into 2 luns/devices then it may be fine. Then create the RAID0 with them.
Guy
-----Original Message-----
From: James Bottomley [mailto:[email protected]] Sent: Wednesday, March 24, 2004 5:01 PM
To: Guy
Cc: 'Terrence Martin'; 'SCSI Mailing List'
Subject: RE: Stock 2.6.4 withCONFIG_LBD=yand qla2xxx driver,
reportswrongdevice sizeQuoted 3 lines · Guy
This is just a guess!!!!! But I think I am correct.
The standards are very explicit about what READ CAPACITY(10) should return for a >2TB device. sd detects this and retries with a READ CAPACITY(16).
There is no message in the log indicating this happened, so I think the device reported an incorrect size to READ CAPACITY(10). It may have reported its size with bit 33 lopped off, but that's still a device problem.
James