Bug 115351
Summary: | redundant pointless messages | ||
---|---|---|---|
Product: | IO/Storage | Reporter: | Jonathan (spamme) |
Component: | SCSI | Assignee: | linux-scsi (linux-scsi) |
Status: | NEW --- | ||
Severity: | low | CC: | spamme |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | All | Subsystem: | |
Regression: | No | Bisected commit-id: |
Description
Jonathan
2016-03-27 19:48:58 UTC
On 16-03-27 03:48 PM, bugzilla-daemon@bugzilla.kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=115351 > > Bug ID: 115351 > Summary: redundant pointless messages > Product: IO/Storage > Version: 2.5 > Kernel Version: All > Hardware: All > OS: Linux > Tree: Mainline > Status: NEW > Severity: low > Priority: P1 > Component: SCSI > Assignee: linux-scsi@vger.kernel.org > Reporter: spamme@ecybernard.com > Regression: No > > First, why does it have to log "Very big device" 44 times on startup. > Second, Given the size of ALL modern hard drives an array of almost any size > probably triggers this warning. That will only occur if this function: static int sd_try_rc16_first(struct scsi_device *sdp) { if (sdp->host->max_cmd_len < 16) return 0; if (sdp->try_rc_10_first) return 0; if (sdp->scsi_level > SCSI_SPC_2) return 1; if (scsi_device_protection(sdp)) return 1; return 0; } returns zero and the disks in question have more than 2**32 - 1 logical blocks. [For 512 byte blocks that is 2 TiB, for 4096 byte blocks that is 16 TiB.] Modern SCSI (SAS) disks should be reporting SPC-3 or higher compliance as should virtual disks in any properly configured array. > Suggestion: just get rid of this pointless message. Maybe you should just > always use 16, or maybe for future proofing go to 24 or 32. The 2**64 logical block maximum in the READ CAPACITY(16) response should be sufficient, for the time being. Request: find out why sd_try_rc16_first() returns zero. Doug Gilbert clearly if 16 is enough for 2^64 then just get rid of the error message all together, and call it done. I don't know why sd_try_rc16_first() returns zero. I don't even know how to find out. This is all the dmesg reveals: [ 2.520235] AAC0: kernel 7.5-0[32084] Jun 15 2015 [ 2.520240] AAC0: monitor 7.5-0[32084] [ 2.520241] AAC0: bios 7.5-0[32084] [ 2.520243] AAC0: serial ######## [ 2.520244] AAC0: Non-DASD support enabled. [ 2.520246] AAC0: 64bit support enabled. [ 2.520247] AAC0: 64 Bit DAC enabled [ 2.520524] scsi host4: aacraid [ 2.530234] scsi host5: pata_atiixp [ 2.530480] scsi 4:0:0:0: Direct-Access ASR7168 Tardis V1.0 PQ: 0 ANSI: 2 [ 2.530631] sd 4:0:0:0: [sdc] Very big device. Trying to use READ CAPACITY(16). [ 2.530687] sd 4:0:0:0: [sdc] 19503493120 512-byte logical blocks: (9.99 TB/9.08 TiB) [ 2.530697] sd 4:0:0:0: [sdc] Write Protect is off [ 2.530699] sd 4:0:0:0: [sdc] Mode Sense: 12 00 10 08 [ 2.530706] sd 4:0:0:0: Attached scsi generic sg2 type 0 [ 2.530730] sd 4:0:0:0: [sdc] Write cache: disabled, read cache: enabled, supports DPO and FUA [ 2.530891] sd 4:0:0:0: [sdc] Very big device. Trying to use READ CAPACITY(16). [ 2.531195] sd 4:0:0:0: [sdc] Very big device. Trying to use READ CAPACITY(16). scsi 4:3:0:0: Wrong diagnostic page; asked for 7 got 0 I get bunches of these |