Skip to contentSkip to conversation

New: do not output error for simple subenclosure (handle Short Enclosure Status diagnostic page)

Bug 106841 [email protected] 1 participant 5 messages Oct 29, 2015 – Feb 27, 2016 SCSI

lore
Share & tools
lore
#0 lore raw

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: No

So 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.
#1 lore raw

[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.
#2 lore raw

[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.
#3 lore raw

[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.
#4 lore raw

[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.