Bug 518496 - Add kernel (scsi_dh_rdac) support for Sun 6540 storage arrays.
Summary: Add kernel (scsi_dh_rdac) support for Sun 6540 storage arrays.
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel
Version: 5.5
Hardware: All
OS: Linux
low
medium
Target Milestone: rc
: 5.5
Assignee: Mike Christie
QA Contact: Red Hat Kernel QE team
URL:
Whiteboard:
Depends On: 515171
Blocks: 508706 523237 527501 533941
TreeView+ depends on / blocked
 
Reported: 2009-08-20 15:48 UTC by Mike Christie
Modified: 2016-04-26 14:40 UTC (History)
26 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of: 515171
Environment:
Last Closed: 2010-03-30 07:44:47 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2010:0178 normal SHIPPED_LIVE Important: Red Hat Enterprise Linux 5.5 kernel security and bug fix update 2010-03-29 12:18:21 UTC

Description Mike Christie 2009-08-20 15:48:19 UTC
+++ This bug was initially created as a clone of Bug #515171 +++

Description of problem:
Sun 6000 series storage arrays are based on the same LSI hardware as IBM DS4000 series. 

With the lastest Sun firmware, and with AVT enabled, Sun 6540 storage array (same hardware as IBM DS4800) works with multipath -ll 

Version-Release number of selected component (if applicable):
RHEV-H 5.4-2.0.99.8.2
device-mapper-multipath-0.4.7-28

How reproducible:
Still under testing. Happy to provide more feedback.

Steps to Reproduce:
1. Copy device 
vendor "IBM" 
product "1815"

2.
Change device to 
vendor "SDK" 
product "FLEXLINE 380"

3.
Add blacklist
device {
  vendor "STK"
  product "Universal Xport"
}
  
Actual results:
multipath -ll 
returned expected result.

Expected results:
Expected Sun to actually provide some assistance to dm-multipath project.
Lack of support noted for next storage purchase.

Additional info:
Below is typed (so there may be typing errors) entries in multipath.conf

blacklist {
        device {
                vendor              "STK"
                product             "Universal Xport"
        }
}
devices {
        device {
                vendor              "STK"
                product             "FLEXLINE 380"
                path_grouping_policy group_by_prio
                path_checker rdac
                hardware handler "1 rdac"
                prio_callout "/sbin/mpath_prio_rdac /dev/%n"
                no_path_retry queue
                rr_min_io 1000
        }
}

--- Additional comment from catapult@internode.on.net on 2009-08-03 02:16:47 EDT ---

Typo
2. Change device to 
vendor "STK" 
product "FLEXLINE 380"

--- Additional comment from catapult@internode.on.net on 2009-08-17 02:02:11 EDT ---

Could someone please let me know how to build custom RHEL 5.3 kernels so I can test my patches.

--- linux-2.6-scsi-scsi_dh-add-rdac-handler.patch.orig  2009-08-17 11:30:23.000000000 +0930
+++ linux-2.6-scsi-scsi_dh-add-rdac-handler.patch       2009-08-17 12:42:30.000000000 +0930
@@ -639,6 +639,7 @@
 +      {"STK", "OPENstorage D280"},
 +      {"SUN", "CSM200_R"},
 +      {"SUN", "LCSM100_F"},
++      {"STK", "FLEXLINE 380"},
 +      {NULL, NULL},
 +};
 +



--- multipath.conf.defaults.orig = GROUP2009-08-17 13:03:19.000000000 +0930
+++ multipath.conf.defaultsck   2009-08-17 13:04:06.000000000 +0930
@@ -505,6 +505,20 @@r_weight     = RR_WEIGHT_NONE,
 #              rr_min_ioh_retry = NO_PA1000ETRY_QUEUE,
 #               path_checker            rdacNIO,
 #      }         .checker_name  = RDAC,
+#       device {
+#               vendor                  "STK"
+#               product                 "FLEXLINE 380"
+#               getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
+#               prio_callout            "/sbin/mpath_prio_rdac /dev/%n"
+#               features                "0"tch input.
+#               hardware_handler        "1 rdac"c.orig hwtable.c > hwtable.c.patch
+#               path_grouping_policy    group_by_prio
+#               failback                immediatec.orig hwtable.c > hwtable.c.patch
+#               rr_weight               uniformh
+#               no_path_retry           queue
+#               rr_min_io               1000
+#               path_checker            rdac
+#       }
 #      device {
 #              vendor                  "GNBD"
 #              product                 "GNBD"


--- hwtable.c.orig      2008-08-30 04:00:27.000000000 +0930
+++ hwtable.c   2009-08-17 12:39:11.000000000 +0930
@@ -691,6 +691,22 @@
                .minio         = DEFAULT_MINIO,
                .checker_name  = RDAC,
        },
+        {
+                /* SUN 6540 */
+                .vendor        = "STK",
+                .product       = "FLEXLINE 380",
+                .getuid        = DEFAULT_GETUID,
+                .getprio       = "/sbin/mpath_prio_rdac /dev/%n",
+                .features      = DEFAULT_FEATURES,
+                .hwhandler     = "1 rdac",
+                .selector      = DEFAULT_SELECTOR,
+                .pgpolicy      = GROUP_BY_PRIO,
+                .pgfailback    = -FAILBACK_IMMEDIATE,
+                .rr_weight     = RR_WEIGHT_NONE,
+                .no_path_retry = NO_PATH_RETRY_QUEUE,
+                .minio         = DEFAULT_MINIO,
+                .checker_name  = RDAC,
+        },
        /*
         * DELL arrays
         */

--- Additional comment from catapult@internode.on.net on 2009-08-17 02:09:59 EDT ---

I did not copy multipath.conf properly

--- multipath.conf.defaults.orig        2009-08-17 13:03:19.000000000 +0930
+++ multipath.conf.defaults     2009-08-17 13:04:06.000000000 +0930
@@ -505,6 +505,20 @@
 #              rr_min_io               1000
 #               path_checker            rdac
 #      }
+#       device {
+#               vendor                  "STK"
+#               product                 "FLEXLINE 380"
+#               getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
+#               prio_callout            "/sbin/mpath_prio_rdac /dev/%n"
+#               features                "0"
+#               hardware_handler        "1 rdac"
+#               path_grouping_policy    group_by_prio
+#               failback                immediate
+#               rr_weight               uniform
+#               no_path_retry           queue
+#               rr_min_io               1000
+#               path_checker            rdac
+#       }
 #      device {
 #              vendor                  "GNBD"
 #              product                 "GNBD"

--- Additional comment from catapult@internode.on.net on 2009-08-17 03:15:54 EDT ---

Created an attachment (id=357602)
Untested proposed patch in diff -pruN format

--- Additional comment from catapult@internode.on.net on 2009-08-17 20:56:08 EDT ---

Created an attachment (id=357725)
Added product_blacklist

--- Additional comment from bmarzins@redhat.com on 2009-08-20 10:29:22 EDT ---

I've added the new configuration defaults.  Mike, do you want add the kernel patch at the top of the attachments?

--- Additional comment from mchristi@redhat.com on 2009-08-20 11:46:40 EDT ---

(In reply to comment #6)
> I've added the new configuration defaults.  Mike, do you want add the kernel
> patch at the top of the attachments?  

I can do this. Let me clone this bz for the kernel part.

Comment 1 Steven Whately 2009-08-27 04:39:51 UTC
Kernel 2.6.18.el5 takes an excessive time to boot unless scsi_dh_rdac is to added to initrd.
mkinitrd -f /boot/initrd-2.6.18.el5.img 2.6.18.el5 --preload=scsi_dh_rdac

This is likely to be common for many storage arrays supported by scsi_dh_rdac.

Kernel 2.6.30.5 does not have the same problem. 
I have not checked 2.6.30.5 initrd for scsi_dh_rdac driver.

Comment 3 Don Zickus 2009-09-22 20:17:14 UTC
in kernel-2.6.18-166.el5
You can download this test kernel from http://people.redhat.com/dzickus/el5

Please do NOT transition this bugzilla state to VERIFIED until our QE team
has sent specific instructions indicating when to do so.  However feel free
to provide a comment indicating that this fix has been verified.

Comment 9 Chris Ward 2010-02-11 10:30:32 UTC
~~ Attention Customers and Partners - RHEL 5.5 Beta is now available on RHN ~~

RHEL 5.5 Beta has been released! There should be a fix present in this 
release that addresses your request. Please test and report back results 
here, by March 3rd 2010 (2010-03-03) or sooner.

Upon successful verification of this request, post your results and update 
the Verified field in Bugzilla with the appropriate value.

If you encounter any issues while testing, please describe them and set 
this bug into NEED_INFO. If you encounter new defects or have additional 
patch(es) to request for inclusion, please clone this bug per each request
and escalate through your support representative.

Comment 10 Steven Whately 2010-03-05 06:48:28 UTC
These patches have been released in RHEL 5.4 updates. I've been using 5.4 (RHEV-H) on these storage arrays for many weeks without issue. It is unlikely that I will have the time to test RHEL 5.5 Beta.

Comment 12 errata-xmlrpc 2010-03-30 07:44:47 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2010-0178.html


Note You need to log in before you can comment on or make changes to this bug.