public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: John Hughes <john@Calva.COM>
To: James Bottomley <James.Bottomley@suse.de>
Cc: linux-scsi@vger.kernel.org
Subject: Re: ses enclosure stuff not working with Promise Vtrak J610S JBOD
Date: Wed, 04 Nov 2009 19:01:22 +0100	[thread overview]
Message-ID: <4AF1C172.6080509@Calva.COM> (raw)
In-Reply-To: <1257351654.2697.55.camel@mulgrave.site>

James Bottomley wrote:
> On Wed, 2009-11-04 at 17:12 +0100, John Hughes wrote:
>   
>> # sg_ses -p 0 /dev/sg17
>>   PROMISE   3U-SAS-16-D BP    0107
>>     enclosure services device
>> Supported diagnostic pages:
>>   Supported diagnostic pages [0x0]
>>   Configuration (SES) [0x1]
>>   Enclosure status/control (SES) [0x2]
>>   Threshold In/Out (SES) [0x5]
>>   Enclosure busy (SES-2) [0x9]
>>   Additional (device) element status (SES-2) [0xa]
>>     
>
> This may also be a problem.  My enclosure returns page 7 as well.  The
> traversal routine has special code to try to parse page 10 without a
> page 7 ... I don't think I actually ever tested that ...
>   
As far as I can tell you only use page 7 to get the slot names, but you 
ignore the "addl_desc_ptr" information in page10 if you didn't get page7.

With the following patch I get the "device" directories in the enclosure 
bay directories, even for the SATA drive.  (Maybe this is because the 
SATA drive is behind a so-called "aamux" device).

I also find the "enclosure_device:xxx" link in the 
/sys/block/sdxx/device directory

# ls -l /sys/block/sdaa/device/enclosure_device:13
lrwxrwxrwx 1 root root 0 2009-11-04 18:57 /sys/block/sdaa/device/enclosure_device:13 -> ../../../../../../../../../../../../class/enclosure/4:0:14:0/13

Yay!

diff --git a/drivers/scsi/ses.c b/drivers/scsi/ses.c
index 55b034b..725a095 100644
--- a/drivers/scsi/ses.c
+++ b/drivers/scsi/ses.c
@@ -389,9 +389,9 @@ static void ses_enclosure_data_process(struct enclosure_devi
                len = (desc_ptr[2] << 8) + desc_ptr[3];
                /* skip past overall descriptor */
                desc_ptr += len + 4;
-               if (ses_dev->page10)
-                       addl_desc_ptr = ses_dev->page10 + 8;
        }
+       if (ses_dev->page10)
+               addl_desc_ptr = ses_dev->page10 + 8;
        type_ptr = ses_dev->page1 + 12 + ses_dev->page1[11];
        components = 0;
        for (i = 0; i < types; i++, type_ptr += 4) {



  reply	other threads:[~2009-11-04 18:01 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-04 13:00 ses enclosure stuff not working with Promise Vtrak J610S JBOD John Hughes
2009-11-04 15:17 ` John Hughes
2009-11-04 15:22 ` James Bottomley
2009-11-04 15:53   ` John Hughes
2009-11-04 16:07     ` James Bottomley
2009-11-04 16:12       ` John Hughes
2009-11-04 16:20         ` James Bottomley
2009-11-04 18:01           ` John Hughes [this message]
2009-11-04 18:05             ` James Bottomley
2009-11-04 18:10               ` John Hughes
2009-11-05  9:41             ` John Hughes
2009-11-05 15:30               ` John Hughes
2009-11-05 15:44                 ` James Bottomley
2009-11-04 15:51 ` John Hughes
2009-11-04 16:54   ` John Hughes
2009-11-04 16:55   ` John Hughes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4AF1C172.6080509@Calva.COM \
    --to=john@calva.com \
    --cc=James.Bottomley@suse.de \
    --cc=linux-scsi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox