RE: smartmontools
"Salyzyn, Mark" <[email protected]> Mon, 16 Jun 2003 09:40:32 -0400
| Newsgroups | gmane.linux.drivers.aacraid.devel |
|---|---|
| Message-ID | <[email protected]> |
As the message "office18 kernel: Unhandled SCSI Command: 0x4d" implies, it
is an unhandled call. aacraid is a scsi->block FIB converter, so all SCSI
commands are simulated/spoofed.
aacraid returns the unhandled Log Sense command with a check condition,
stored with an Invalid command key in the sense information. I see something
unbecoming in the return sequence, it returns with a -1 to the scsi queue
layer, yet it completes the command appropriately (with error spoofed in
scsi response) as if properly queued.
A possibility is that:
default:
/*
* Unhandled commands
*/
printk(KERN_WARNING "Unhandled SCSI Command:
0x%x.\n", scsicmd->cmnd[0]);
scsicmd->result = DID_OK << 16 | COMMAND_COMPLETE <<
8 | CHECK_CONDITION;
set_sense((u8 *) &sense_data[cid],
SENKEY_ILLEGAL, SENCODE_INVALID_COMMAND,
ASENCODE_INVALID_COMMAND, 0, 0, 0, 0);
__aac_io_done(scsicmd);
return -1;
Needs to have the `return -1;' replaced with a `return 0;' on line 1142 (in
my version) of aachba.c.
Any chance you can check if this confirms resolution to this issue of
locking up the kernel?
Sincerely -- Mark Salyzyn
-----Original Message-----
From: Matt Domsch [mailto:[email protected]]
Sent: Monday, June 16, 2003 9:21 AM
To: [email protected]
Subject: Fw: smartmontools
Thought this discussion might be better targeted at linux-aacraid-devel.
-Matt
--
Matt Domsch
Sr. Software Engineer
Dell Linux Solutions www.dell.com/linux
Linux on Dell mailing lists @ http://lists.us.dell.com
---------- Forwarded message ----------
Date: Mon, 16 Jun 2003 06:56:37 -0500
From: Douglas Gilbert <[email protected]>
To: Christopher McCrory <[email protected]>
Cc: Bruce Allen <[email protected]>, [email protected]
Subject: Re: smartmontools
Christopher McCrory wrote:
> Hello...
>
> Sorry for the delay as this machine was testing other stuff for a
while:
>
> [root@office18 /]# /usr/sbin/smartctl -r ioctl,3 -a /dev/sda
> smartctl version 5.1-11 Copyright (C) 2002-3 Bruce Allen
> Home page is http://smartmontools.sourceforge.net/
>
> [inquiry: 12 00 00 00 24 00 ] status=0
> Incoming data, len=36:
> 00 00 80 02 02 1f 00 00 32 44 45 4c 4c 20 20 20 20
> 10 50 45 52 43 52 41 49 44 20 4c 65 67 61 63 79 20
> 20 56 31 2e 30
> Device: DELL PERCRAID Legacy Version: V1.0
> [inquiry: 12 01 80 00 40 00 ] status=0
> Incoming data, len=64:
> 00 00 80 02 02 1f 00 00 32 44 45 4c 4c 20 20 20 20
> 10 50 45 52 43 52 41 49 44 20 4c 65 67 61 63 79 20
> 20 56 31 2e 30 00 00 00 00 00 00 00 00 00 00 00 00
> 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> Serial number:
> Device type: disk
> Local Time is: Sun Jun 15 10:39:48 2003 PDT
> [test unit ready: 00 00 00 00 00 00 ] status=0
> [mode sense: 1a 00 1c 00 40 00 ] status=0
> Incoming data, len=64:
> 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [mode sense: 1a 00 5c 00 40 00 ] status=0
> Incoming data, len=64:
> 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> scsiModePageOffset: bad resp_len=1 offset=4 bd_len=0
> Device supports SMART and is Disabled
> scsiModePageOffset: bad resp_len=1 offset=4 bd_len=0
> Temperature Warning Disabled or Not Supported
> [log sense: 4d 00 40 00 00 00 00 00 fc 00 ] status=0x1
> ioctl status=0x1 but scsi status=0, fail with ENODEV
> Log Sense for supported pages failed [No such device]
> [request sense: 03 00 00 00 12 00 ]
> Message from syslogd@office18 at Sun Jun 15 10:39:48 2003 ...
> office18 kernel: Unhandled SCSI Command: 0x4d.
>
>
> Then system hangs
Christopher,
Thanks for the feedback.
Devices that implement a SCSI target need to respond to the
following SCSI commands (at the very least):
- a simple INQUIRY
- READ CAPACITY
- READ and WRITE
- at the very least not lock up on a MODE SENSE
So the aacraid seems to have much in common with iee1394
sbp2 disks (ATA disks with a bridge) and USB mass storage
disks (again ATA disks with a bridge).
The responses shown above to commands sent by smartcl to
the aacraid are:
- sensible for a simple INQUIRY
- to a INQUIRY requesting VPD page 0x80 it responds
as if it were a simple INQUIRY: wrong
- to both (6 byte) MODE SENSE commands the responses
are wrong
- to the first LOG SENSE command the aacraid seems to
hang (or is in its death throes)
So we need a black list or some "three strikes and your
out" type logic to handle the aacraid. In my local copy
I have started adding some sanity checks to "non-simple"
INQUIRY responses and MODE SENSE responses.
BTW smartmontools 5.1-12 (the version after the one used
above) refines its LOG SENSE commands to do a double fetch
(first it fetches a 4 byte response to find the response
length, then the "real" fetch). This may fix the problem
(but I wouldn't hold my breath); it was added for BusLogic
HBAs.
Suggestions?
Doug Gilbert
_______________________________________________
Linux-PowerEdge mailing list
[email protected]
http://lists.us.dell.com/mailman/listinfo/linux-poweredge
Please read the FAQ at http://lists.us.dell.com/faq or search the list
archives at http://lists.us.dell.com/htdig/
_______________________________________________
Linux-aacraid-devel mailing list
[email protected]
http://lists.us.dell.com/mailman/listinfo/linux-aacraid-devel
Please read the FAQ at http://lists.us.dell.com/faq or search the list
archives at http://lists.us.dell.com/htdig/
_______________________________________________
Linux-aacraid-devel mailing list
[email protected]
http://lists.us.dell.com/mailman/listinfo/linux-aacraid-devel
Please read the FAQ at http://lists.us.dell.com/faq or search the list archives at http://lists.us.dell.com/htdig/