Actions
Bug #5737
closedmr_sas driver does not pass SCSI mode sense to disks when adapter in JBOD mode.
Start date:
2015-03-23
Due date:
% Done:
100%
Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:
External Bug:
Description
Some of the LSI chips which are supported by the mr_sas driver can be configured in HBA mode.
When in this mode, the mr_sas driver does not pass mode sense commands through to the hardware. This results in error messages during boot and ZFS being unable to set write caching on drives.
In testing with the Dell HPERC H730p adapter, based on the LSI MegaRAID SAS-3 3108 (Invader) chip, boot looks like:
NOTICE: map sync received, switched map_id to 1 NOTICE: LDMAP sync completed. WARNING: /pci@0,0/pci8086,2f02@1/pci1028,1f49@0/sd@0,1 (sd0): Command failed to complete...Device is gone WARNING: /pci@0,0/pci8086,2f02@1/pci1028,1f49@0/sd@1,1 (sd1): Command failed to complete...Device is gone Hostname: carolina WARNING: /pci@0,0/pci8086,2f02@1/pci1028,1f49@0/sd@4,1 (sd6): Command failed to complete...Device is gone ... etc.
It is also not possible to view or modify write caching through format -e
carolina# (6) format -e selecting c0t2d1 format> cache cache> write write_cache> disp Mode sense failed. write_cache> enable Mode sense failed.
Nor can any mode sense pages be retrieved using a tool such as <i>sdparm</i>:
carolina# (10) sdparm -a /dev/rdsk/c0t2d1s0 /dev/rdsk/c0t2d1s0: SEAGATE ST91000640SS 0004 mode sense (10): pass through os error: I/O error mode sense (10): pass through os error: I/O error mode sense (10): pass through os error: I/O error mode sense (10): pass through os error: I/O error mode sense (10): pass through os error: I/O error mode sense (10): pass through os error: I/O error mode sense (10): pass through os error: I/O error ... etc.
I have an initial patch for this which I'll be sending to the developers' list for review this week.
With the patch:
... Clean boot ... format -e ... write_cache> displ Write Cache is enabled carolina# (4) sdparm -a /dev/rdsk/c0t2d1s2 /dev/rdsk/c0t2d1s2: SEAGATE ST91000640SS 0004 Read write error recovery mode page: AWRE 1 [cha: y, def: 1, sav: 1] ARRE 1 [cha: y, def: 1, sav: 1] TB 0 [cha: y, def: 0, sav: 0] RC 0 [cha: y, def: 0, sav: 0] EER 0 [cha: y, def: 0, sav: 0] PER 0 [cha: y, def: 0, sav: 0] ... many more lines deleted
Updated by Electric Monk over 8 years ago
- Status changed from In Progress to Closed
- % Done changed from 80 to 100
git commit e65bc174f67bfc560c23a317bb16268ec18103f6
commit e65bc174f67bfc560c23a317bb16268ec18103f6 Author: Andy Fiddaman <omnios@citrus-it.net> Date: 2015-03-28T20:09:43.000Z 5737 mr_sas driver does not pass SCSI mode sense to disks when adapter in JBOD mode. 5738 mr_sas driver - poor performance when Invader adapter in JBOD mode. Reviewed by: Hans Rosenfeld <hans.rosenfeld@nexenta.com> Reviewed by: Garrett D'Amore <garrett@damore.org> Approved by: Dan McDonald <danmcd@omniti.com>
Actions