New: do not output error for simple subenclosure (handle Short Enclosure Status diagnostic page)
https://bugzilla.kernel.org/show_bug.cgi?id=106841
Bug ID: 106841
Summary: do not output error for simple subenclosure (handle
Short Enclosure Status diagnostic page)
Product: IO/Storage
Version: 2.5
Kernel Version: 4.2.4
Hardware: All
OS: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: SCSI
Assignee: [email protected]
Reporter: [email protected]
Regression: NoSo I have the following error with a WD My Passport:
[tom@localhost ~]$ journalctl -b -p 3 | grep scsi
Oct 29 11:18:31 localhost kernel: scsi 7:0:0:1: Failed to get diagnostic page 0x8000002 Oct 29 11:18:31 localhost kernel: scsi 7:0:0:1: Failed to bind enclosure -19
Some info of the drive:
[tom@localhost ~]$ sudo sg_ses /dev/sg4
WD SES Device 1065
Supported diagnostic pages:
Supported Diagnostic Pages [sdp] [0x0]
Short Enclosure Status (SES) [ses] [0x8]
<unknown> [0x80]
<unknown> [0x83]
<unknown> [0x84]
<unknown> [0x85]
[tom@localhost ~]$ sudo sg_senddiag -P 8 /dev/sg4
Short enclosure status (SES) diagnostic page [0x8] response in hex:
00 08 00 00 00
According to SES-3 (ses3r10.pdf) Table 10, if diagnostic page 08h is supported, all others pages from 01h to 0fh are prohibited.
However, the kernel (driver/scsi/ses.c) doesn't seem to be aware of this.
FWIW, my drive have a correct SES page (byte 0 should the page code 08h, byte 2-3 should be 0000h, byte 1 is vendor-specific status).
Signature · 2 lines
You are receiving this mail because: You are the assignee for the bug.
[Bug 106841] do not output error for simple subenclosure (handle Short Enclosure Status diagnostic page)
https://bugzilla.kernel.org/show_bug.cgi?id=106841
--- Comment #1 from Tom Yan <[email protected]> --- Oops I missed the lsscsi output:
[tom@localhost ~]$ sudo lsscsi -g | grep WD
[7:0:0:0] disk WD My Passport 083A 1065 /dev/sdc /dev/sg3 [7:0:0:1] enclosu WD SES Device 1065 - /dev/sg4
Signature · 2 lines
You are receiving this mail because: You are the assignee for the bug.
[Bug 106841] ses: do not output error for simple subenclosure (handle Short Enclosure Status diagnostic page)
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=106841
Tom Yan <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|do not output error for |ses: do not output error
|simple subenclosure (handle |for simple subenclosure
|Short Enclosure Status |(handle Short Enclosure
|diagnostic page) |Status diagnostic page)Signature · 2 lines
You are receiving this mail because: You are the assignee for the bug.
[Bug 106841] ses: do not output error for simple subenclosure (handle Short Enclosure Status diagnostic page)
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=106841
Tom Yan <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
Kernel Version|4.2.4 |4.4.1
Signature · 2 lines
You are receiving this mail because: You are the assignee for the bug.
[Bug 106841] ses: do not output error for simple subenclosure (handle Short Enclosure Status diagnostic page)
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=106841
--- Comment #2 from Tom Yan <[email protected]> --- This commit did NOT fix anything:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/scsi/ses.c?id=3417c1b5cb1fdc10261dbed42b05cc93166a78fd
Only the error changes from:
scsi 7:0:0:1: Failed to get diagnostic page 0x8000002 scsi 7:0:0:1: Failed to bind enclosure -19
to
scsi 7:0:0:1: Wrong diagnostic page; asked for 1 got 0 scsi 7:0:0:1: Failed to get diagnostic page 0xffffffea scsi 7:0:0:1: Failed to bind enclosure -19
The ses driver should simply check whether there is an Short Enclosure Status page (i.e. it is a simple subenclosure) FIRST. If that's the case, the device should simply be skipped/bound WITHOUT error.
Signature · 2 lines
You are receiving this mail because: You are the assignee for the bug.