summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Snitzer <msnitzer@fedoraproject.org>2009-05-06 20:01:01 +0000
committerMike Snitzer <msnitzer@fedoraproject.org>2009-05-06 20:01:01 +0000
commitcbdffc7ea04d181060f56ca3ebf122552b26b51f (patch)
treeace6b69d19d52e33207f5e569d4f55415e920d08
parentb3b10f9bcf3c4766676a5a35da7e8fb767130a62 (diff)
Updated to latest upstream 0.4.9 code: multipath-tools-090429.tgz (gitdevice-mapper-multipath-0_4_9-1_fc12
commit id: 7395bcda3a218df2eab1617df54628af0dc3456e)
-rw-r--r--.cvsignore2
-rw-r--r--config_files.patch936
-rw-r--r--config_space_fix.patch27
-rw-r--r--device-mapper-multipath.spec111
-rw-r--r--directio_message_cleanup.patch20
-rw-r--r--fix_devt.patch25
-rw-r--r--fix_umask.patch17
-rw-r--r--lib64_multipath.patch12
-rw-r--r--linking_change.patch68
-rw-r--r--mpath_wait.patch19
-rw-r--r--multipath_rules.patch24
-rw-r--r--redhatification.patch595
-rw-r--r--scsi_id_change.patch478
-rw-r--r--sources2
-rw-r--r--sparc64fix.patch13
-rw-r--r--uevent_fix.patch28
16 files changed, 126 insertions, 2251 deletions
diff --git a/.cvsignore b/.cvsignore
index ae9f320..f42f02b 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1 +1 @@
-multipath-tools-080804.tgz
+multipath-tools-090429.tgz
diff --git a/config_files.patch b/config_files.patch
deleted file mode 100644
index ea5b1c3..0000000
--- a/config_files.patch
+++ /dev/null
@@ -1,936 +0,0 @@
-diff -urpN multipath-tools-cf94ef0ee3f8046aa2b8dc90aee14edf76d4bbf7-clean/multipath.conf.annotated multipath-tools-cf94ef0ee3f8046aa2b8dc90aee14edf76d4bbf7-patched/multipath.conf.annotated
---- multipath-tools-cf94ef0ee3f8046aa2b8dc90aee14edf76d4bbf7-clean/multipath.conf.annotated 2008-04-30 06:25:16.000000000 -0500
-+++ multipath-tools-cf94ef0ee3f8046aa2b8dc90aee14edf76d4bbf7-patched/multipath.conf.annotated 2008-05-02 18:22:48.000000000 -0500
-@@ -19,6 +19,7 @@
- # # name : polling_interval
- # # scope : multipathd
- # # desc : interval between two path checks in seconds
-+# # values : n > 0
- # # default : 5
- # #
- # polling_interval 10
-@@ -38,6 +39,13 @@
- # # scope : multipath
- # # desc : the default path grouping policy to apply to unspecified
- # # multipaths
-+# # values : failover = 1 path per priority group
-+# # multibus = all valid paths in 1 priority group
-+# # group_by_serial = 1 priority group per detected serial
-+# # number
-+# # group_by_prio = 1 priority group per path priority
-+# # value
-+# # group_by_node_name = 1 priority group per target node name
- # # default : failover
- # #
- # path_grouping_policy multibus
-@@ -59,16 +67,27 @@
- # # exploitable prio value for example.
- # # default : (null)
- # #
--# #prio "alua"
-+# prio "alua"
- #
- # #
--# # name : path_checker
-+# # name : features
-+# # scope : multipath
-+# # desc : The default extra features of multipath devices. The
-+# # only existing feature currently is queue_if_no_path, which
-+# # is the same as setting no_path_retry to queue.
-+# # values : "1 queue_if_no_path"
-+# # default : (null)
-+# #
-+# features "1 queue_if_no_path"
-+#
-+# #
-+# # name : path_checker, checker
- # # scope : multipath & multipathd
- # # desc : the default method used to determine the paths' state
--# # values : readsector0|tur|emc_clariion|hp_sw|directio
-+# # values : readsector0|tur|emc_clariion|hp_sw|directio|rdac|cciss_tur
- # # default : directio
- # #
--# #path_checker directio
-+# path_checker directio
- #
- # #
- # # name : rr_min_io
-@@ -103,8 +122,8 @@
- # # name : failback
- # # scope : multipathd
- # # desc : tell the daemon to manage path group failback, or not to.
--# # 0 means immediate failback, values >0 means deffered failback
--# # expressed in seconds.
-+# # 0 means immediate failback, values >0 means deffered
-+# # failback expressed in seconds.
- # # values : manual|immediate|n > 0
- # # default : manual
- # #
-@@ -119,7 +138,7 @@
- # # values : queue|fail|n (>0)
- # # default : (null)
- # #
--# #no_path_retry queue
-+# no_path_retry queue
- #
- # #
- # # name : user_friendly_names
-@@ -140,13 +159,16 @@
- ## name : blacklist
- ## scope : multipath & multipathd
- ## desc : list of device names to discard as not multipath candidates
--## default : cciss, fd, hd, md, dm, sr, scd, st, ram, raw, loop
-+## Devices can be identified by their device node name "devnode",
-+## their WWID "wwid", or their vender and product strings
-+## "device"
-+## default : fd, hd, md, dm, sr, scd, st, ram, raw, loop, dcssblk
- ##
- #blacklist {
- # wwid 26353900f02796769
- # devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
--# devnode "^hd[a-z][[0-9]*]"
--# devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
-+# devnode "^hd[a-z]"
-+# devnode "^dcssblk[0-9]*"
- # device {
- # vendor DEC.*
- # product MSA[15]00
-@@ -199,57 +221,59 @@
- # # name : path_grouping_policy
- # # scope : multipath
- # # desc : path grouping policy to apply to this multipath
--# # values : failover, multibus, group_by_serial
--# # default : failover
-+# # multibus = all valid paths in 1 priority
-+# # group
-+# # group_by_serial = 1 priority group per detected
-+# # serial number
-+# # group_by_prio = 1 priority group per path
-+# # priority value
-+# # group_by_node_name = 1 priority group per target
-+# # node name
- # #
--# path_grouping_policy multibus
-+# path_grouping_policy failover
- #
- # #
--# # name : path_checker
--# # scope : multipathd
--# # desc : path checking alorithm to use to check path state
--# # values : readsector0|tur|emc_clariion|hp_sw|directio
--# # default : directio
--# #
--# # path_checker directio
--#
--# #
- # # name : path_selector
- # # desc : the path selector algorithm to use for this mpath
- # # these algo are offered by the kernel mpath target
- # # values : "round-robin 0"
--# # default : "round-robin 0"
- # #
- # path_selector "round-robin 0"
- #
- # #
- # # name : failback
- # # scope : multipathd
--# # desc : tell the daemon to manage path group failback, or not to.
--# # 0 means immediate failback, values >0 means deffered failback
--# # expressed in seconds.
-+# # desc : tell the daemon to manage path group failback, or
-+# # not to. 0 means immediate failback, values >0 means
-+# # deffered failback expressed in seconds.
- # # values : manual|immediate|n > 0
--# # default : manual
- # #
--# failback immediate
-+# failback manual
-+#
-+# #
-+# # name : rr_weight
-+# # scope : multipath
-+# # desc : if set to priorities the multipath configurator will
-+# # assign path weights as "path prio * rr_min_io"
-+# # values : priorities|uniform
-+# #
-+# rr_weight priorities
- #
- # #
- # # name : no_path_retry
- # # scope : multipath & multipathd
--# # desc : tell the number of retries until disable queueing, or
--# # "fail" means immediate failure (no queueing),
-+# # desc : tell the number of retries until disable queueing,
-+# # or "fail" means immediate failure (no queueing),
- # # "queue" means never stop queueing
- # # values : queue|fail|n (>0)
--# # default : (null)
- # #
--# #no_path_retry queue
-+# no_path_retry queue
- #
- # #
- # # name : rr_min_io
- # # scope : multipath
- # # desc : the number of IO to route to a path before switching
- # # to the next in the same path group
--# # default : 1000
- # #
- # rr_min_io 100
- # }
-@@ -283,83 +307,120 @@
- # product "HSV110 (C)COMPAQ"
- #
- # #
-+# # name : product_blacklist
-+# # scope : multipath & multipathd
-+# # desc : product strings to blacklist for this vendor
-+# # default : none
-+# #
-+# product_blacklist LUNZ
-+#
-+# #
- # # name : path_grouping_policy
- # # scope : multipath
- # # desc : path grouping policy to apply to multipath hosted
- # # by this storage controller
--# # values : failover = 1 path per priority group
--# # multibus = all valid paths in 1 priority
--# # group
--# # group_by_serial = 1 priority group per detected
--# # serial number
--# # default : failover
-+# # values : failover = 1 path per priority group
-+# # multibus = all valid paths in 1 priority
-+# # group
-+# # group_by_serial = 1 priority group per detected
-+# # serial number
-+# # group_by_prio = 1 priority group per path
-+# # priority value
-+# # group_by_node_name = 1 priority group per target
- # #
--# path_grouping_policy multibus
-+# path_grouping_policy failover
- #
- # #
- # # name : getuid_callout
- # # scope : multipath
- # # desc : the program and args to callout to obtain a unique
- # # path identifier. Absolute path required
--# # default : /lib/udev/scsi_id -g -u -s
- # #
- # getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
- #
- # #
--# # name : prio
--# # scope : multipath
--# # desc : the function to call to obtain a path
--# # weight. Weights are summed for each path group to
--# # determine the next PG to use case of failure.
--# # default : no callout, all paths equals
-+# # name : path_selector
-+# # desc : the path selector algorithm to use for this mpath
-+# # these algo are offered by the kernel mpath target
-+# # values : "round-robin 0"
- # #
--# prio "hp_sw"
-+# path_selector "round-robin 0"
- #
- # #
--# # name : path_checker
-+# # name : path_checker, checker
- # # scope : multipathd
- # # desc : path checking alorithm to use to check path state
--# # values : readsector0|tur|emc_clariion|hp_sw|directio
--# # default : directio
-+# # values : readsector0|tur|emc_clariion|hp_sw|directio|rdac|
-+# # cciss_tur
- # #
- # path_checker directio
- #
- # #
--# # name : path_selector
--# # desc : the path selector algorithm to use for this mpath
--# # these algo are offered by the kernel mpath target
--# # values : "round-robin 0"
--# # default : "round-robin 0"
-+# # name : features
-+# # scope : multipath
-+# # desc : The extra features of multipath devices. The only
-+# # existing feature currently is queue_if_no_path,
-+# # which is the same as setting no_path_retry to queue.
-+# # values : "1 queue_if_no_path"
- # #
--# path_selector "round-robin 0"
-+# features "1 queue_if_no_path"
-+#
-+# #
-+# # name : hardware_handler
-+# # scope : multipath
-+# # desc : If set, it specifies a module that will be used to
-+# # perform hardware specific actions when switching
-+# # path groups or handling IO errors
-+# # values : "0"|"1 emc"
-+# # default : "0"
-+# #
-+# hardware_handler "1 emc"
-+#
-+# #
-+# # name : prio
-+# # scope : multipath
-+# # desc : the function to call to obtain a path
-+# # weight. Weights are summed for each path group to
-+# # determine the next PG to use case of failure.
-+# #
-+# prio "hp_sw"
- #
- # #
- # # name : failback
- # # scope : multipathd
--# # desc : tell the daemon to manage path group failback, or not to.
--# # 0 means immediate failback, values >0 means deffered failback
--# # expressed in seconds.
-+# # desc : tell the daemon to manage path group failback, or
-+# # not to. 0 means immediate failback, values >0 means
-+# # deffered failback expressed in seconds.
- # # values : manual|immediate|n > 0
--# # default : manual
- # #
- # failback 30
- #
- # #
--# # name : rr_min_io
-+# # name : rr_weight
- # # scope : multipath
--# # desc : the number of IO to route to a path before switching
--# # to the next in the same path group
--# # default : 1000
-+# # desc : if set to priorities the multipath configurator will
-+# # assign path weights as "path prio * rr_min_io"
-+# # values : priorities|uniform
- # #
--# rr_min_io 100
-+# rr_weight priorities
- #
- # #
--# # name : product_blacklist
-+# # name : no_path_retry
- # # scope : multipath & multipathd
--# # desc : product strings to blacklist for this vendor
--# # default : none
-+# # desc : tell the number of retries until disable queueing,
-+# # or "fail" means immediate failure (no queueing),
-+# # "queue" means never stop queueing
-+# # values : queue|fail|n (>0)
- # #
--# product_blacklist LUN_Z
-+# no_path_retry queue
-+#
-+# #
-+# # name : rr_min_io
-+# # scope : multipath
-+# # desc : the number of IO to route to a path before switching
-+# # to the next in the same path group
-+# #
-+# rr_min_io 100
- # }
- # device {
- # vendor "COMPAQ "
-diff -urpN multipath-tools-cf94ef0ee3f8046aa2b8dc90aee14edf76d4bbf7-clean/multipath.conf.defaults multipath-tools-cf94ef0ee3f8046aa2b8dc90aee14edf76d4bbf7-patched/multipath.conf.defaults
---- multipath-tools-cf94ef0ee3f8046aa2b8dc90aee14edf76d4bbf7-clean/multipath.conf.defaults 1969-12-31 18:00:00.000000000 -0600
-+++ multipath-tools-cf94ef0ee3f8046aa2b8dc90aee14edf76d4bbf7-patched/multipath.conf.defaults 2008-05-02 18:54:06.000000000 -0500
-@@ -0,0 +1,574 @@
-+# These are the compiled in default settings. They will be used unless you
-+# overwrite these values in your config file.
-+
-+#defaults {
-+# udev_dir /dev
-+# polling_interval 5
-+# selector "round-robin 0"
-+# path_grouping_policy failover
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# prio const
-+# path_checker directio
-+# rr_min_io 1000
-+# rr_weight uniform
-+# failback manual
-+# no_path_retry fail
-+# user_friendly_names no
-+#}
-+#
-+#blacklist {
-+# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
-+# devnode "^hd[a-z]"
-+# devnode "^dcssblk[0-9]*"
-+#}
-+#
-+#devices {
-+# device {
-+# vendor "APPLE*"
-+# product "Xserve RAID"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy multibus
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker directio
-+# prio const
-+# }
-+# device {
-+# vendor "3PARdata"
-+# product "VV"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy multibus
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker directio
-+# prio const
-+# }
-+# device {
-+# vendor "DEC"
-+# product "HSG80"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "1 queue_if_no_path"
-+# hardware_handler "1 hp-sw"
-+# path_selector "round-robin 0"
-+# path_grouping_policy multibus
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker hp_sw
-+# prio hp_sw
-+# }
-+# device {
-+# vendor "HP"
-+# product "A6189A"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy multibus
-+# rr_weight uniform
-+# no_path_retry 12
-+# rr_min_io 1000
-+# path_checker directio
-+# prio const
-+# }
-+# device {
-+# vendor "(COMPAQ|HP)"
-+# product "(MSA|HSV)1.0.*"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "1 queue_if_no_path"
-+# hardware_handler "1 hp-sw"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# rr_weight uniform
-+# no_path_retry 12
-+# rr_min_io 1000
-+# path_checker hp_sw
-+# prio hp_sw
-+# }
-+# device {
-+# vendor "HP"
-+# product "MSA VOLUME"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback immediate
-+# rr_weight uniform
-+# no_path_retry 12
-+# rr_min_io 1000
-+# path_checker tur
-+# prio alua
-+# }
-+# device {
-+# vendor "HP"
-+# product "MSA2000s*"
-+# getuid_callout "/sbin/cciss_id %n"
-+# features "0"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback immediate
-+# rr_weight uniform
-+# no_path_retry 12
-+# rr_min_io 1000
-+# path_checker tur
-+# prio const
-+# }
-+# device {
-+# vendor "(COMPAQ|HP)"
-+# product "HSV1[01]1|HSV2[01]0|HSV300"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback immediate
-+# rr_weight uniform
-+# no_path_retry 12
-+# rr_min_io 1000
-+# path_checker tur
-+# prio alua
-+# }
-+# device {
-+# vendor "HP"
-+# product "MSA2[02]12*"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy multibus
-+# failback immediate
-+# rr_weight uniform
-+# no_path_retry 12
-+# rr_min_io 1000
-+# path_checker tur
-+# prio const
-+# }
-+# device {
-+# vendor "HP"
-+# product "LOGICAL VOLUME.*"
-+# getuid_callout "/lib/udev/scsi_id -n -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy multibus
-+# failback immediate
-+# rr_weight uniform
-+# no_path_retry 12
-+# rr_min_io 1000
-+# path_checker tur
-+# prio const
-+# }
-+# device {
-+# vendor "DDN"
-+# product "SAN DataDirector"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy multibus
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker directio
-+# prio const
-+# }
-+# device {
-+# vendor "EMC"
-+# product "SYMMETRIX"
-+# getuid_callout "/lib/udev/scsi_id -g -u -ppre-spc3-83 -s /block/%n"
-+# features "0"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy multibus
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker directio
-+# prio const
-+# }
-+# device {
-+# vendor "DGC"
-+# product ".*"
-+# product_blacklist "LUNZ"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# prio_callout "/sbin/mpath_prio_emc /dev/%n"
-+# features "1 queue_if_no_path"
-+# hardware_handler "1 emc"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback immediate
-+# rr_weight uniform
-+# no_path_retry 60
-+# rr_min_io 1000
-+# path_checker emc_clariion
-+# prio emc
-+# }
-+# device {
-+# vendor "FSC"
-+# product "CentricStor"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_serial
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker directio
-+# prio const
-+# }
-+# device {
-+# vendor "(HITACHI|HP)"
-+# product "OPEN-.*"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "1 queue_if_no_path"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy multibus
-+# rr_weight uniform
-+# rr_min_io 100
-+# path_checker tur
-+# prio const
-+# }
-+# device {
-+# vendor "HITACHI"
-+# product "DF.*"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "1 queue_if_no_path"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback immediate
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker tur
-+# prio hds
-+# }
-+# device {
-+# vendor "IBM"
-+# product "ProFibre 4000R"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy multibus
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker readsector0
-+# prio const
-+# }
-+# device {
-+# vendor "IBM"
-+# product "1722-600"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "1 queue_if_no_path"
-+# hardware_handler "1 rdac"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback immediate
-+# rr_weight uniform
-+# no_path_retry 300
-+# rr_min_io 1000
-+# path_checker rdac
-+# prio rdac
-+# }
-+# device {
-+# vendor "IBM"
-+# product "1742"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "1 rdac"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback immediate
-+# rr_weight uniform
-+# no_path_retry queue
-+# rr_min_io 1000
-+# path_checker rdac
-+# prio rdac
-+# }
-+# device {
-+# vendor "IBM"
-+# product "1814"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "1 rdac"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback immediate
-+# rr_weight uniform
-+# no_path_retry queue
-+# rr_min_io 1000
-+# path_checker rdac
-+# prio rdac
-+# }
-+# device {
-+# vendor "IBM"
-+# product "1815"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "1 rdac"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback immediate
-+# rr_weight uniform
-+# no_path_retry queue
-+# rr_min_io 1000
-+# path_checker rdac
-+# prio rdac
-+# }
-+# device {
-+# vendor "IBM"
-+# product "3526"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "1 rdac"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback immediate
-+# rr_weight uniform
-+# no_path_retry queue
-+# rr_min_io 1000
-+# path_checker rdac
-+# prio rdac
-+# }
-+# device {
-+# vendor "IBM"
-+# product "3542"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_serial
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker tur
-+# prio const
-+# }
-+# device {
-+# vendor "IBM"
-+# product "2105(800|F20)"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "1 queue_if_no_path"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_serial
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker tur
-+# prio const
-+# }
-+# device {
-+# vendor "IBM"
-+# product "1750500"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "1 queue_if_no_path"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback immediate
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker tur
-+# prio alua
-+# }
-+# device {
-+# vendor "IBM"
-+# product "2107900"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "1 queue_if_no_path"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy multibus
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker tur
-+# prio const
-+# }
-+# device {
-+# vendor "IBM"
-+# product "2145"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "1 queue_if_no_path"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback immediate
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker tur
-+# prio alua
-+# }
-+# device {
-+# vendor "IBM"
-+# product "S/390 DASD ECKD"
-+# product_blacklist "S/390.*"
-+# getuid_callout "/sbin/dasdinfo -u -b %n"
-+# features "1 queue_if_no_path"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy multibus
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker directio
-+# prio const
-+# }
-+# device {
-+# vendor "NETAPP"
-+# product "LUN.*"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "1 queue_if_no_path"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback immediate
-+# rr_weight uniform
-+# rr_min_io 128
-+# path_checker directio
-+# prio netapp
-+# }
-+# device {
-+# vendor "IBM"
-+# product "Nseries.*"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "1 queue_if_no_path"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback immediate
-+# rr_weight uniform
-+# rr_min_io 128
-+# path_checker directio
-+# prio netapp
-+# }
-+# device {
-+# vendor "Pillar"
-+# product "Axiom.*"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker tur
-+# prio alua
-+# }
-+# device {
-+# vendor "SGI"
-+# product "TP9[13]00"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy multibus
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker directio
-+# prio const
-+# }
-+# device {
-+# vendor "SGI"
-+# product "TP9[45]00"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "1 rdac"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback immediate
-+# rr_weight uniform
-+# no_path_retry queue
-+# rr_min_io 1000
-+# path_checker rdac
-+# prio rdac
-+# }
-+# device {
-+# vendor "SGI"
-+# product "IS.*"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "1 rdac"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback immediate
-+# rr_weight uniform
-+# no_path_retry queue
-+# rr_min_io 1000
-+# path_checker rdac
-+# prio rdac
-+# }
-+# device {
-+# vendor "STK"
-+# product "OPENstorage D280"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback immediate
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker tur
-+# prio rdac
-+# }
-+# device {
-+# vendor "SUN"
-+# product "(StorEdge 3510|T4)"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy multibus
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker directio
-+# prio const
-+# }
-+# device {
-+# vendor "PIVOT3"
-+# product "RAIGE VOLUME"
-+# getuid_callout "/sbin/scsi_id -p 0x80 -g -u -s /block/%n"
-+# features "1 queue_if_no_path"
-+# hardware_handler "0"
-+# path_selector "round-robin 0"
-+# path_grouping_policy multibus
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker tur
-+# prio const
-+# }
-+# device {
-+# vendor "SUN"
-+# product "CSM200_R"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "1 rdac"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback immediate
-+# rr_weight uniform
-+# no_path_retry queue
-+# rr_min_io 1000
-+# path_checker rdac
-+# prio rdac
-+# }
-+# device {
-+# vendor "SUN"
-+# product "LCSM100_F"
-+# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "1 rdac"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback immediate
-+# rr_weight uniform
-+# no_path_retry queue
-+# rr_min_io 1000
-+# path_checker rdac
-+# prio rdac
-+# }
-+#}
-diff -urpN multipath-tools-cf94ef0ee3f8046aa2b8dc90aee14edf76d4bbf7-clean/multipath.conf.synthetic multipath-tools-cf94ef0ee3f8046aa2b8dc90aee14edf76d4bbf7-patched/multipath.conf.synthetic
---- multipath-tools-cf94ef0ee3f8046aa2b8dc90aee14edf76d4bbf7-clean/multipath.conf.synthetic 2008-04-30 06:25:16.000000000 -0500
-+++ multipath-tools-cf94ef0ee3f8046aa2b8dc90aee14edf76d4bbf7-patched/multipath.conf.synthetic 2008-05-02 18:56:12.000000000 -0500
-@@ -21,7 +21,6 @@
- # wwid 26353900f02796769
- # devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
- # devnode "^hd[a-z][[0-9]*]"
--# devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
- # device {
- # vendor DEC.*
- # product MSA[15]00
-@@ -61,7 +60,7 @@
- # rr_weight priorities
- # no_path_retry queue
- # rr_min_io 100
--# product_blacklist LUN_Z
-+# product_blacklist LUNZ
- # }
- # device {
- # vendor "COMPAQ "
diff --git a/config_space_fix.patch b/config_space_fix.patch
deleted file mode 100644
index c8f4b4b..0000000
--- a/config_space_fix.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Index: multipath-tools/libmultipath/parser.c
-===================================================================
---- multipath-tools.orig/libmultipath/parser.c
-+++ multipath-tools/libmultipath/parser.c
-@@ -239,12 +239,20 @@ alloc_strvec(char *string)
- in_string = 0;
- else
- in_string = 1;
-+ } else if (!in_string && (*cp == '{' || *cp == '}')) {
-+ token = MALLOC(2);
-
-+ if (!token)
-+ goto out;
-+
-+ *(token) = *cp;
-+ *(token + 1) = '\0';
-+ cp++;
- } else {
- while ((in_string ||
- (!isspace((int) *cp) && isascii((int) *cp) &&
-- *cp != '!' && *cp != '#')) &&
-- *cp != '\0' && *cp != '"')
-+ *cp != '!' && *cp != '#' && *cp != '{' &&
-+ *cp != '}')) && *cp != '\0' && *cp != '"')
- cp++;
- strlen = cp - start;
- token = MALLOC(strlen + 1);
diff --git a/device-mapper-multipath.spec b/device-mapper-multipath.spec
index 44275b7..33c422b 100644
--- a/device-mapper-multipath.spec
+++ b/device-mapper-multipath.spec
@@ -1,31 +1,29 @@
Summary: Tools to manage multipath devices using device-mapper
Name: device-mapper-multipath
-Version: 0.4.8
-Release: 10%{?dist}
+Version: 0.4.9
+Release: 1%{?dist}
License: GPL+
Group: System Environment/Base
URL: http://christophe.varoqui.free.fr/
-Source0: multipath-tools-080804.tgz
-Patch0: linking_change.patch
-Patch1: uevent_fix.patch
-Patch2: sparc64fix.patch
-Patch3: config_files.patch
-Patch4: redhatification.patch
-Patch5: mpath_wait.patch
-Patch6: multipath_rules.patch
-Patch7: cciss_id.patch
-Patch8: scsi_id_change.patch
-Patch9: config_space_fix.patch
-Patch10: fix_devt.patch
-Patch11: directio_message_cleanup.patch
-Patch12: binding_error.patch
-Patch13: fix_kpartx.patch
-Patch14: fix_umask.patch
-Requires: kpartx = %{version}-%{release}
+
+Source0: multipath-tools-090429.tgz
+Patch0: lib64_multipath.patch
+Patch1: redhatification.patch
+Patch2: mpath_wait.patch
+Patch3: multipath_rules.patch
+Patch4: cciss_id.patch
+Patch5: directio_message_cleanup.patch
+Patch6: binding_error.patch
+Patch7: fix_kpartx.patch
+
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Requires: %{name}-libs = %{version}-%{release}
+Requires: kpartx = %{version}-%{release}
+Requires: device-mapper >= 1.02.02-2
Requires(post): chkconfig
Requires(preun): chkconfig
-Requires: device-mapper >= 1.02.02-2
+Requires(preun): initscripts
+Requires(postun): initscripts
BuildRequires: libaio-devel, device-mapper-devel
BuildRequires: libselinux-devel, libsepol-devel
BuildRequires: readline-devel, ncurses-devel
@@ -37,6 +35,15 @@ The tools are :
* multipath : Scan the system for multipath devices and assemble them.
* multipathd : Detects when paths fail and execs multipath to update things.
+%package libs
+Summary: %{name} modules and shared library
+License: GPL+
+Group: System Environment/Libraries
+
+%description libs
+%{name}-libs provides the path checker and prioritizer modules. It also
+contains the multipath shared library, libmultipath.
+
%package -n kpartx
Summary: Partition device manager for device-mapper devices
Group: System Environment/Base
@@ -47,28 +54,29 @@ kpartx manages partition creation and removal for device-mapper devices.
%prep
%setup -q -n multipath-tools
-%patch0 -p1 -b .linking_change
-%patch1 -p1 -b .uevent_fix
-%patch2 -p1 -b .sparc64fix
-%patch3 -p1 -b .config_files
-%patch4 -p1 -b .redhatification
-%patch5 -p1 -b .mpath_wait
-%patch6 -p1 -b .multipath_rules
-%patch7 -p1 -b .cciss_id
-%patch8 -p1 -b .scsi_id_change
-%patch9 -p1 -b .config_space_fix
-%patch10 -p1 -b .fix_devt
-%patch11 -p1 -b .directio_message
-%patch12 -p1 -b .binding_error
-%patch13 -p1 -b .ext_part
-%patch14 -p1 -b .umask
+%if %{_lib} == "lib64"
+%patch0 -p1 -b .lib64_multipath
+%endif
+%patch1 -p1 -b .redhatification
+%patch2 -p1 -b .mpath_wait
+%patch3 -p1 -b .multipath_rules
+%patch4 -p1 -b .cciss_id
+%patch5 -p1 -b .directio_message
+%patch6 -p1 -b .binding_error
+%patch7 -p1 -b .fix_kpartx
%build
-make %{?_smp_mflags} DESTDIR=$RPM_BUILD_ROOT
+%define _sbindir /sbin
+%define _libdir /%{_lib}
+%define _libmpathdir %{_libdir}/multipath
+make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
-make install DESTDIR=$RPM_BUILD_ROOT bindir=/sbin rcdir=/etc/rc.d/init.d
+make install DESTDIR=$RPM_BUILD_ROOT bindir=%{_sbindir} syslibdir=%{_libdir} libdir=%{_libmpathdir} rcdir=%{_initrddir}
+install -m 0644 multipath/multipath.conf.redhat $RPM_BUILD_ROOT/etc/multipath.conf
+install -m 0755 multipathd/multipathd.init.redhat $RPM_BUILD_ROOT/%{_initrddir}/multipathd
+install -d $RPM_BUILD_ROOT/var/lib/multipath
%clean
rm -rf $RPM_BUILD_ROOT
@@ -79,25 +87,23 @@ rm -rf $RPM_BUILD_ROOT
%preun
if [ "$1" = 0 ]; then
- /sbin/service multipathd stop /dev/null 2>&1
+ /sbin/service multipathd stop /dev/null 2>&1
/sbin/chkconfig --del multipathd
fi
%postun
/sbin/ldconfig
if [ "$1" -ge "1" ]; then
- /sbin/service multipathd condrestart >/dev/null 2>&1 || :
+ /sbin/service multipathd condrestart >/dev/null 2>&1 || :
fi
%files
%defattr(-,root,root,-)
-/sbin/multipath
-/sbin/multipathd
-/sbin/cciss_id
-/sbin/mpath_wait
-/lib/libmultipath.so
-/lib/multipath
-/etc/rc.d/init.d/multipathd
+%{_sbindir}/multipath
+%{_sbindir}/multipathd
+%{_sbindir}/cciss_id
+%{_sbindir}/mpath_wait
+%{_initrddir}/multipathd
%{_mandir}/man5/multipath.conf.5.gz
%{_mandir}/man8/multipath.8.gz
%{_mandir}/man8/multipathd.8.gz
@@ -106,6 +112,11 @@ fi
%doc AUTHOR COPYING README* FAQ multipath.conf.annotated multipath.conf.defaults multipath.conf.synthetic
%dir /var/lib/multipath
+%files libs
+%defattr(-,root,root,-)
+%{_libdir}/libmultipath.so
+%{_libmpathdir}
+%dir %{_libmpathdir}
%files -n kpartx
%defattr(-,root,root,-)
@@ -113,6 +124,12 @@ fi
%{_mandir}/man8/kpartx.8.gz
%changelog
+* Thu Apr 29 2009 Mike Snitzer <snitzer@redhat.com> - 0.4.9-1
+- Updated to latest upstream 0.4.9 code: multipath-tools-090429.tgz
+ (git commit id: 7395bcda3a218df2eab1617df54628af0dc3456e)
+- split the multipath libs out to a device-mapper-multipath-libs package
+- if appropriate, install multipath libs in /lib64 and /lib64/multipath
+
* Thu Apr 7 2009 Milan Broz <mbroz@redhat.com> - 0.4.8-10
- Fix insecure permissions on multipathd.sock (CVE-2009-0115)
@@ -144,7 +161,7 @@ fi
* Mon May 19 2008 Benjamin Marzinksi <bmarzins@redhat.com> 0.4.8-3
- Fixed ownership build error.
-
+
* Mon May 19 2008 Benjamin Marzinksi <bmarzins@redhat.com> 0.4.8-2
- Forgot to commit some patches.
diff --git a/directio_message_cleanup.patch b/directio_message_cleanup.patch
index c215996..c507d97 100644
--- a/directio_message_cleanup.patch
+++ b/directio_message_cleanup.patch
@@ -1,15 +1,17 @@
-Index: multipath-tools/libmultipath/checkers/directio.c
-===================================================================
---- multipath-tools.orig/libmultipath/checkers/directio.c
-+++ multipath-tools/libmultipath/checkers/directio.c
-@@ -148,8 +148,9 @@ check_state(int fd, struct directio_cont
+diff --git a/libmultipath/checkers/directio.c b/libmultipath/checkers/directio.c
+index 4728424..7624c4e 100644
+--- a/libmultipath/checkers/directio.c
++++ b/libmultipath/checkers/directio.c
+@@ -148,10 +148,11 @@ check_state(int fd, struct directio_context *ct, int sync)
}
ct->running++;
+ errno = 0;
r = io_getevents(ct->ioctx, 1L, 1L, &event, &timeout);
-- LOG(3, "async io getevents returns %li (errno=%s)", r, strerror(errno));
-+ LOG(3, "async io_getevents returns %li (%s)", r, strerror(errno));
- if (r < 1L) {
- if (ct->running > ASYNC_TIMEOUT_SEC || sync) {
+ if (r < 0 ) {
+- LOG(3, "async io getevents returned %li (errno=%s)", r,
++ LOG(3, "async io getevents returned %li (%s)", r,
+ strerror(errno));
+ rc = PATH_UNCHECKED;
+ } else if (r < 1L) {
diff --git a/fix_devt.patch b/fix_devt.patch
deleted file mode 100644
index 26239a2..0000000
--- a/fix_devt.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Index: multipath-tools/libmultipath/discovery.c
-===================================================================
---- multipath-tools.orig/libmultipath/discovery.c
-+++ multipath-tools/libmultipath/discovery.c
-@@ -252,7 +252,11 @@ devt2devname (char *devname, char *devt)
- continue;
-
- if ((major == tmpmaj) && (minor == tmpmin)) {
-- sprintf(block_path, "/sys/block/%s", dev);
-+ if (snprintf(block_path, FILE_NAME_SIZE, "/sys/block/%s", dev) >= FILE_NAME_SIZE) {
-+ condlog(0, "device name %s is too long\n", dev);
-+ fclose(fd);
-+ return 1;
-+ }
- break;
- }
- }
-@@ -270,6 +274,7 @@ devt2devname (char *devname, char *devt)
- condlog(0, "sysfs entry %s is not a directory\n", block_path);
- return 1;
- }
-+ basename(block_path, devname);
- return 0;
- }
-
diff --git a/fix_umask.patch b/fix_umask.patch
deleted file mode 100644
index 035fb9e..0000000
--- a/fix_umask.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- multipath-tools.old/multipathd/main.c 2009-04-02 12:22:37.000000000 +0200
-+++ multipath-tools/multipathd/main.c 2009-04-02 12:25:13.000000000 +0200
-@@ -718,6 +718,7 @@ uxlsnrloop (void * ap)
- set_handler_callback(REINSTATE+PATH, cli_reinstate);
- set_handler_callback(FAIL+PATH, cli_fail);
-
-+ umask(077);
- uxsock_listen(&uxsock_trigger, ap);
-
- return NULL;
-@@ -1436,7 +1437,6 @@ daemonize(void)
- close(in_fd);
- close(out_fd);
- chdir("/");
-- umask(0);
- return 0;
- }
diff --git a/lib64_multipath.patch b/lib64_multipath.patch
new file mode 100644
index 0000000..ebd22ed
--- /dev/null
+++ b/lib64_multipath.patch
@@ -0,0 +1,12 @@
+diff --git a/libmultipath/defaults.h b/libmultipath/defaults.h
+index d7f93cb..357c519 100644
+--- a/libmultipath/defaults.h
++++ b/libmultipath/defaults.h
+@@ -1,6 +1,6 @@
+ #define DEFAULT_GETUID "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
+ #define DEFAULT_UDEVDIR "/dev"
+-#define DEFAULT_MULTIPATHDIR "/lib/multipath"
++#define DEFAULT_MULTIPATHDIR "/lib64/multipath"
+ #define DEFAULT_SELECTOR "round-robin 0"
+ #define DEFAULT_FEATURES "0"
+ #define DEFAULT_HWHANDLER "0"
diff --git a/linking_change.patch b/linking_change.patch
deleted file mode 100644
index 887504a..0000000
--- a/linking_change.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-Index: multipath-tools/libmultipath/Makefile
-===================================================================
---- multipath-tools.orig/libmultipath/Makefile
-+++ multipath-tools/libmultipath/Makefile
-@@ -23,14 +23,15 @@ endif
- all: $(LIBS)
-
- $(LIBS): $(OBJS)
-- $(CC) $(SHARED_FLAGS) $(CFLAGS) -o $@ $(OBJS)
-+ $(CC) $(SHARED_FLAGS) -Wl,-soname,$@ $(CFLAGS) -o $@ $(OBJS)
-
- install:
-+ $(INSTALL_PROGRAM) -d $(DESTDIR)$(prefix)/lib
-+ $(INSTALL_PROGRAM) -m 755 $(LIBS) $(DESTDIR)$(prefix)/lib/$(LIBS)
- $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)$(libdir)
-- $(INSTALL_PROGRAM) -m 755 $(LIBS) $(DESTDIR)$(libdir)/$(LIBS)
-
- uninstall:
-- rm -f $(DESTDIR)$(libdir)/$(LIBS)
-+ rm -f $(DESTDIR)$(prefix)/lib/$(LIBS)
-
- clean:
- rm -f core *.a *.o *.gz *.so
-Index: multipath-tools/multipath/Makefile
-===================================================================
---- multipath-tools.orig/multipath/Makefile
-+++ multipath-tools/multipath/Makefile
-@@ -6,9 +6,8 @@ include ../Makefile.inc
-
- OBJS = main.o
-
--CFLAGS += -I$(multipathdir) -Wl,-rpath,$(libdir)
--LDFLAGS += -lpthread -ldevmapper -laio -ldl \
-- -lmultipath -L$(multipathdir)
-+CFLAGS += -I$(multipathdir)
-+LDFLAGS += -lpthread -ldevmapper -ldl -lmultipath -L$(multipathdir)
-
- EXEC = multipath
-
-Index: multipath-tools/multipathd/Makefile
-===================================================================
---- multipath-tools.orig/multipathd/Makefile
-+++ multipath-tools/multipathd/Makefile
-@@ -5,8 +5,8 @@ include ../Makefile.inc
- #
- # basic flags setting
- #
--CFLAGS += -I$(multipathdir) -Wl,-rpath,$(libdir)
--LDFLAGS += -lpthread -ldevmapper -lreadline -lncurses -laio -ldl \
-+CFLAGS += -I$(multipathdir)
-+LDFLAGS += -lpthread -ldevmapper -lreadline -lncurses -ldl \
- -lmultipath -L$(multipathdir)
-
- #
-Index: multipath-tools/libmultipath/checkers/Makefile
-===================================================================
---- multipath-tools.orig/libmultipath/checkers/Makefile
-+++ multipath-tools/libmultipath/checkers/Makefile
-@@ -17,6 +17,9 @@ CFLAGS += -I..
-
- all: $(LIBS)
-
-+libcheckdirectio.so: libsg.o directio.o
-+ $(CC) $(SHARED_FLAGS) -o $@ $^ -laio
-+
- libcheck%.so: libsg.o %.o
- $(CC) $(SHARED_FLAGS) -o $@ $^
-
diff --git a/mpath_wait.patch b/mpath_wait.patch
index ab48908..44e14d7 100644
--- a/mpath_wait.patch
+++ b/mpath_wait.patch
@@ -1,8 +1,8 @@
-Index: multipath-tools-080515/multipath/Makefile
-===================================================================
---- multipath-tools-080515.orig/multipath/Makefile
-+++ multipath-tools-080515/multipath/Makefile
-@@ -21,7 +21,7 @@ $(EXEC): $(OBJS)
+diff --git a/multipath/Makefile b/multipath/Makefile
+index e0031a2..fe377d8 100644
+--- a/multipath/Makefile
++++ b/multipath/Makefile
+@@ -20,7 +20,7 @@ $(EXEC): $(OBJS)
install:
$(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
@@ -11,7 +11,7 @@ Index: multipath-tools-080515/multipath/Makefile
$(INSTALL_PROGRAM) -d $(DESTDIR)/etc/udev/rules.d
$(INSTALL_PROGRAM) -m 644 multipath.rules $(DESTDIR)/etc/udev/rules.d/
$(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir)
-@@ -36,6 +36,7 @@ install:
+@@ -31,6 +31,7 @@ install:
uninstall:
rm $(DESTDIR)/etc/udev/rules.d/multipath.rules
rm $(DESTDIR)$(bindir)/$(EXEC)
@@ -19,10 +19,11 @@ Index: multipath-tools-080515/multipath/Makefile
rm $(DESTDIR)$(mandir)/$(EXEC).8.gz
rm $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz
-Index: multipath-tools-080515/multipath/mpath_wait
-===================================================================
+diff --git a/multipath/mpath_wait b/multipath/mpath_wait
+new file mode 100644
+index 0000000..d4047cc
--- /dev/null
-+++ multipath-tools-080515/multipath/mpath_wait
++++ b/multipath/mpath_wait
@@ -0,0 +1,17 @@
+#!/bin/bash
+
diff --git a/multipath_rules.patch b/multipath_rules.patch
index 56e0bb9..6cdd4bc 100644
--- a/multipath_rules.patch
+++ b/multipath_rules.patch
@@ -1,8 +1,8 @@
-Index: multipath-tools/multipath/Makefile
-===================================================================
---- multipath-tools.orig/multipath/Makefile
-+++ multipath-tools/multipath/Makefile
-@@ -23,7 +23,7 @@ install:
+diff --git a/multipath/Makefile b/multipath/Makefile
+index fe377d8..b2c4fa6 100644
+--- a/multipath/Makefile
++++ b/multipath/Makefile
+@@ -22,14 +22,14 @@ install:
$(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
$(INSTALL_PROGRAM) -m 755 $(EXEC) mpath_wait $(DESTDIR)$(bindir)/
$(INSTALL_PROGRAM) -d $(DESTDIR)/etc/udev/rules.d
@@ -11,8 +11,7 @@ Index: multipath-tools/multipath/Makefile
$(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir)
$(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir)
$(INSTALL_PROGRAM) -d $(DESTDIR)$(man5dir)
-@@ -34,7 +34,7 @@ install:
- $(INSTALL_PROGRAM) -d $(DESTDIR)/var/lib/multipath
+ $(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5.gz $(DESTDIR)$(man5dir)
uninstall:
- rm $(DESTDIR)/etc/udev/rules.d/multipath.rules
@@ -20,10 +19,10 @@ Index: multipath-tools/multipath/Makefile
rm $(DESTDIR)$(bindir)/$(EXEC)
rm $(DESTDIR)$(bindir)/mpath_wait
rm $(DESTDIR)$(mandir)/$(EXEC).8.gz
-Index: multipath-tools/multipath/multipath.rules
-===================================================================
---- multipath-tools.orig/multipath/multipath.rules
-+++ multipath-tools/multipath/multipath.rules
+diff --git a/multipath/multipath.rules b/multipath/multipath.rules
+index ac97749..ad2ff2a 100644
+--- a/multipath/multipath.rules
++++ b/multipath/multipath.rules
@@ -1,7 +1,8 @@
-#
-# udev rules for multipathing.
@@ -31,10 +30,11 @@ Index: multipath-tools/multipath/multipath.rules
-#
-
-# socket for uevents
+-SUBSYSTEM=="block", RUN+="socket:/org/kernel/dm/multipath_event"
+# multipath wants the devmaps presented as meaninglful device names
+# so name them after their devmap name
+SUBSYSTEM!="block", GOTO="end_mpath"
- RUN+="socket:/org/kernel/dm/multipath_event"
++RUN+="socket:/org/kernel/dm/multipath_event"
+KERNEL!="dm-[0-9]*", GOTO="end_mpath"
+PROGRAM!="/sbin/mpath_wait %M %m", GOTO="end_mpath"
+ACTION=="add", RUN+="/sbin/dmsetup ls --target multipath --exec '/sbin/kpartx -a -p p' -j %M -m %m"
diff --git a/redhatification.patch b/redhatification.patch
index 455c291..79e73da 100644
--- a/redhatification.patch
+++ b/redhatification.patch
@@ -1,36 +1,8 @@
-Index: multipath-tools/libmultipath/defaults.h
+Index: multipath-tools-090407/libmultipath/hwtable.c
===================================================================
---- multipath-tools.orig/libmultipath/defaults.h
-+++ multipath-tools/libmultipath/defaults.h
-@@ -1,4 +1,4 @@
--#define DEFAULT_GETUID "/lib/udev/scsi_id -g -u -s /block/%n"
-+#define DEFAULT_GETUID "/sbin/scsi_id -g -u -s /block/%n"
- #define DEFAULT_UDEVDIR "/dev"
- #define DEFAULT_MULTIPATHDIR "/lib/multipath"
- #define DEFAULT_SELECTOR "round-robin 0"
-Index: multipath-tools/libmultipath/hwtable.c
-===================================================================
---- multipath-tools.orig/libmultipath/hwtable.c
-+++ multipath-tools/libmultipath/hwtable.c
-@@ -172,7 +172,7 @@ static struct hwentry default_hw[] = {
- /* HP Smart Array */
- .vendor = "HP",
- .product = "LOGICAL VOLUME.*",
-- .getuid = "/lib/udev/scsi_id -n -g -u -s /block/%n",
-+ .getuid = "/sbin/scsi_id -n -g -u -s /block/%n",
- .features = DEFAULT_FEATURES,
- .hwhandler = DEFAULT_HWHANDLER,
- .selector = DEFAULT_SELECTOR,
-@@ -214,7 +214,7 @@ static struct hwentry default_hw[] = {
- {
- .vendor = "EMC",
- .product = "SYMMETRIX",
-- .getuid = "/lib/udev/scsi_id -g -u -ppre-spc3-83 -s /block/%n",
-+ .getuid = "/sbin/scsi_id -g -u -ppre-spc3-83 -s /block/%n",
- .features = DEFAULT_FEATURES,
- .hwhandler = DEFAULT_HWHANDLER,
- .selector = DEFAULT_SELECTOR,
-@@ -485,7 +485,7 @@ static struct hwentry default_hw[] = {
+--- multipath-tools-090407.orig/libmultipath/hwtable.c 2009-04-07 15:21:33.000000000 -0500
++++ multipath-tools-090407/libmultipath/hwtable.c 2009-04-07 09:16:31.000000000 -0500
+@@ -554,7 +554,7 @@ static struct hwentry default_hw[] = {
.vendor = "IBM",
.product = "S/390 DASD ECKD",
.bl_product = "S/390.*",
@@ -39,558 +11,21 @@ Index: multipath-tools/libmultipath/hwtable.c
.features = "1 queue_if_no_path",
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
-@@ -722,6 +722,22 @@ static struct hwentry default_hw[] = {
- .checker_name = RDAC,
- .prio_name = PRIO_RDAC,
- },
-+ /* DELL arrays */
-+ {
-+ .vendor = "DELL",
-+ .product = "MD3000",
-+ .getuid = DEFAULT_GETUID,
-+ .features = DEFAULT_FEATURES,
-+ .hwhandler = "1 rdac",
-+ .selector = DEFAULT_SELECTOR,
-+ .pgpolicy = GROUP_BY_PRIO,
-+ .pgfailback = -FAILBACK_MANUAL,
-+ .rr_weight = RR_WEIGHT_NONE,
-+ .no_path_retry = NO_PATH_RETRY_UNDEF,
-+ .minio = DEFAULT_MINIO,
-+ .checker_name = RDAC,
-+ .prio_name = PRIO_RDAC,
-+ },
- /*
- * EOL
- */
-Index: multipath-tools/multipath.conf.annotated
-===================================================================
---- multipath-tools.orig/multipath.conf.annotated
-+++ multipath-tools/multipath.conf.annotated
-@@ -55,9 +55,9 @@
- # # scope : multipath
- # # desc : the default program and args to callout to obtain a unique
- # # path identifier. Absolute path required
--# # default : /lib/udev/scsi_id -g -u -s
-+# # default : /sbin/scsi_id -g -u -s
- # #
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- #
- # #
- # # name : prio
-@@ -336,7 +336,7 @@
- # # desc : the program and args to callout to obtain a unique
- # # path identifier. Absolute path required
- # #
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- #
- # #
- # # name : path_selector
-Index: multipath-tools/multipath.conf.defaults
-===================================================================
---- multipath-tools.orig/multipath.conf.defaults
-+++ multipath-tools/multipath.conf.defaults
-@@ -6,7 +6,7 @@
- # polling_interval 5
- # selector "round-robin 0"
- # path_grouping_policy failover
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # prio const
- # path_checker directio
- # rr_min_io 1000
-@@ -26,7 +26,7 @@
- # device {
- # vendor "APPLE*"
- # product "Xserve RAID"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -39,7 +39,7 @@
- # device {
- # vendor "3PARdata"
- # product "VV"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -52,7 +52,7 @@
- # device {
- # vendor "DEC"
- # product "HSG80"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "1 hp-sw"
- # path_selector "round-robin 0"
-@@ -65,7 +65,7 @@
- # device {
- # vendor "HP"
- # product "A6189A"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -79,7 +79,7 @@
- # device {
- # vendor "(COMPAQ|HP)"
- # product "(MSA|HSV)1.0.*"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "1 hp-sw"
- # path_selector "round-robin 0"
-@@ -93,7 +93,7 @@
- # device {
- # vendor "HP"
- # product "MSA VOLUME"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -123,7 +123,7 @@
- # device {
- # vendor "(COMPAQ|HP)"
- # product "HSV1[01]1|HSV2[01]0|HSV300"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -138,7 +138,7 @@
- # device {
- # vendor "HP"
- # product "MSA2[02]12*"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -153,7 +153,7 @@
- # device {
- # vendor "HP"
- # product "LOGICAL VOLUME.*"
--# getuid_callout "/lib/udev/scsi_id -n -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -n -g -u -s /block/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -168,7 +168,7 @@
- # device {
- # vendor "DDN"
- # product "SAN DataDirector"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -181,7 +181,7 @@
- # device {
- # vendor "EMC"
- # product "SYMMETRIX"
--# getuid_callout "/lib/udev/scsi_id -g -u -ppre-spc3-83 -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -ppre-spc3-83 -s /block/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -195,7 +195,7 @@
- # vendor "DGC"
- # product ".*"
- # product_blacklist "LUNZ"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # prio_callout "/sbin/mpath_prio_emc /dev/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "1 emc"
-@@ -211,7 +211,7 @@
- # device {
- # vendor "FSC"
- # product "CentricStor"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -224,7 +224,7 @@
- # device {
- # vendor "(HITACHI|HP)"
- # product "OPEN-.*"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -237,7 +237,7 @@
- # device {
- # vendor "HITACHI"
- # product "DF.*"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -251,7 +251,7 @@
- # device {
- # vendor "IBM"
- # product "ProFibre 4000R"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -264,7 +264,7 @@
- # device {
- # vendor "IBM"
- # product "1722-600"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "1 rdac"
- # path_selector "round-robin 0"
-@@ -279,7 +279,7 @@
- # device {
- # vendor "IBM"
- # product "1742"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "1 rdac"
- # path_selector "round-robin 0"
-@@ -294,7 +294,7 @@
- # device {
- # vendor "IBM"
- # product "1814"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "1 rdac"
- # path_selector "round-robin 0"
-@@ -309,7 +309,7 @@
- # device {
- # vendor "IBM"
- # product "1815"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "1 rdac"
- # path_selector "round-robin 0"
-@@ -324,7 +324,7 @@
- # device {
- # vendor "IBM"
- # product "3526"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "1 rdac"
- # path_selector "round-robin 0"
-@@ -339,7 +339,7 @@
- # device {
- # vendor "IBM"
- # product "3542"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -352,7 +352,7 @@
- # device {
- # vendor "IBM"
- # product "2105(800|F20)"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -365,7 +365,7 @@
- # device {
- # vendor "IBM"
- # product "1750500"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -379,7 +379,7 @@
- # device {
- # vendor "IBM"
- # product "2107900"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -392,7 +392,7 @@
- # device {
- # vendor "IBM"
- # product "2145"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -407,7 +407,7 @@
- # vendor "IBM"
- # product "S/390 DASD ECKD"
- # product_blacklist "S/390.*"
--# getuid_callout "/sbin/dasdinfo -u -b %n"
-+# getuid_callout "/sbin/dasd_id /dev/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -420,7 +420,7 @@
- # device {
- # vendor "NETAPP"
- # product "LUN.*"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -434,7 +434,7 @@
- # device {
- # vendor "IBM"
- # product "Nseries.*"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -448,7 +448,7 @@
- # device {
- # vendor "Pillar"
- # product "Axiom.*"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -461,7 +461,7 @@
- # device {
- # vendor "SGI"
- # product "TP9[13]00"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -474,7 +474,7 @@
- # device {
- # vendor "SGI"
- # product "TP9[45]00"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "1 rdac"
- # path_selector "round-robin 0"
-@@ -489,7 +489,7 @@
- # device {
- # vendor "SGI"
- # product "IS.*"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "1 rdac"
- # path_selector "round-robin 0"
-@@ -504,7 +504,7 @@
- # device {
- # vendor "STK"
- # product "OPENstorage D280"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -518,7 +518,7 @@
- # device {
- # vendor "SUN"
- # product "(StorEdge 3510|T4)"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -544,7 +544,7 @@
- # device {
- # vendor "SUN"
- # product "CSM200_R"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "1 rdac"
- # path_selector "round-robin 0"
-@@ -559,7 +559,7 @@
- # device {
- # vendor "SUN"
- # product "LCSM100_F"
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # features "0"
- # hardware_handler "1 rdac"
- # path_selector "round-robin 0"
-@@ -571,4 +571,18 @@
- # path_checker rdac
- # prio rdac
- # }
-+# device {
-+# vendor "DELL"
-+# product "MD3000"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# features "0"
-+# hardware_handler "1 rdac"
-+# path_selector "round-robin 0"
-+# path_grouping_policy group_by_prio
-+# failback manual
-+# rr_weight uniform
-+# rr_min_io 1000
-+# path_checker rdac
-+# prio rdac
-+# }
- #}
-Index: multipath-tools/multipath.conf.synthetic
-===================================================================
---- multipath-tools.orig/multipath.conf.synthetic
-+++ multipath-tools/multipath.conf.synthetic
-@@ -7,7 +7,7 @@
- # polling_interval 10
- # selector "round-robin 0"
- # path_grouping_policy multibus
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # prio const
- # path_checker directio
- # rr_min_io 100
-@@ -52,7 +52,7 @@
- # vendor "COMPAQ "
- # product "HSV110 (C)COMPAQ"
- # path_grouping_policy multibus
--# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- # path_checker directio
- # path_selector "round-robin 0"
- # hardware_handler "0"
-Index: multipath-tools/Makefile.inc
-===================================================================
---- multipath-tools.orig/Makefile.inc
-+++ multipath-tools/Makefile.inc
-@@ -20,7 +20,7 @@ libudevdir = ${prefix}/lib/udev
- multipathdir = $(TOPDIR)/libmultipath
- mandir = $(prefix)/usr/share/man/man8
- man5dir = $(prefix)/usr/share/man/man5
--rcdir = $(prefix)/etc/init.d
-+rcdir = $(prefix)/etc/rc.d/init.d
- libdir = $(prefix)/lib/multipath
-
- GZIP = /bin/gzip -9 -c
-Index: multipath-tools/multipathd/Makefile
-===================================================================
---- multipath-tools.orig/multipathd/Makefile
-+++ multipath-tools/multipathd/Makefile
-@@ -35,6 +35,7 @@ install:
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
- $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(rcdir)
-+ $(INSTALL_PROGRAM) -m 755 multipathd.init.redhat $(DESTDIR)$(rcdir)/$(EXEC)
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir)
- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir)
-
-Index: multipath-tools/multipathd/multipathd.init.redhat
-===================================================================
---- multipath-tools.orig/multipathd/multipathd.init.redhat
-+++ multipath-tools/multipathd/multipathd.init.redhat
-@@ -1,13 +1,9 @@
- #!/bin/bash
--
--#
--# /etc/rc.d/init.d/multipathd
- #
--# Starts the multipath daemon
-+# multipathd Starts the multipath daemon
- #
- # chkconfig: - 13 87
--# description: Manage device-mapper multipath devices
--# processname: multipathd
-+# description: Manages device-mapper multipath devices
-
- DAEMON=/sbin/multipathd
- prog=`basename $DAEMON`
-@@ -16,14 +12,8 @@ lockdir=/var/lock/subsys
- sysconfig=/etc/sysconfig
-
-
--system=redhat
--
--if [ $system = redhat ]; then
-- # Source function library.
-- . $initdir/functions
--fi
-+. $initdir/functions
-
--test -x $DAEMON || exit 0
- test -r $sysconfig/$prog && . $sysconfig/$prog
-
- RETVAL=0
-@@ -33,6 +23,7 @@ RETVAL=0
- #
-
- start() {
-+ test -x $DAEMON || exit 5
- echo -n $"Starting $prog daemon: "
- daemon $DAEMON
- RETVAL=$?
-@@ -74,7 +65,7 @@ reload)
- restart)
- restart
- ;;
--condrestart)
-+condrestart|try-restart)
- if [ -f $lockdir/$prog ]; then
- restart
- fi
-@@ -85,7 +76,7 @@ status)
- ;;
- *)
- echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
-- RETVAL=1
-+ RETVAL=2
- esac
-
- exit $RETVAL
-Index: multipath-tools/multipath/Makefile
-===================================================================
---- multipath-tools.orig/multipath/Makefile
-+++ multipath-tools/multipath/Makefile
-@@ -28,6 +28,10 @@ install:
- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir)
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(man5dir)
- $(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5.gz $(DESTDIR)$(man5dir)
-+ if [ ! -e $(DESTDIR)//etc/multipath.conf ]; then \
-+ $(INSTALL_PROGRAM) -m 644 multipath.conf.redhat $(DESTDIR)/etc/multipath.conf; \
-+ fi
-+ $(INSTALL_PROGRAM) -d $(DESTDIR)/var/lib/multipath
-
- uninstall:
- rm $(DESTDIR)/etc/udev/rules.d/multipath.rules
-Index: multipath-tools/multipath/multipath.conf.redhat
+Index: multipath-tools-090407/multipath/multipath.conf.redhat
===================================================================
---- /dev/null
-+++ multipath-tools/multipath/multipath.conf.redhat
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ multipath-tools-090407/multipath/multipath.conf.redhat 2009-04-07 09:16:31.000000000 -0500
@@ -0,0 +1,97 @@
+# This is a basic configuration file with some examples, for device mapper
+# multipath.
+# For a complete list of the default configuration values, see
-+# /usr/share/doc/device-mapper-multipath-0.4.8/multipath.conf.defaults
++# /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.defaults
+# For a list of configuration options with descriptions, see
-+# /usr/share/doc/device-mapper-multipath-0.4.8/multipath.conf.annotated
++# /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.annotated
+
+
+# Blacklist all devices by default. Remove this to enable multipathing
-+# on the default devices.
++# on the default devices.
+blacklist {
+ devnode "*"
+}
@@ -618,7 +53,7 @@ Index: multipath-tools/multipath/multipath.conf.redhat
+# polling_interval 10
+# selector "round-robin 0"
+# path_grouping_policy multibus
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
++# getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
+# prio alua
+# path_checker readsector0
+# rr_min_io 100
@@ -664,7 +99,7 @@ Index: multipath-tools/multipath/multipath.conf.redhat
+# vendor "COMPAQ "
+# product "HSV110 (C)COMPAQ"
+# path_grouping_policy multibus
-+# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
++# getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
+# path_checker readsector0
+# path_selector "round-robin 0"
+# hardware_handler "0"
@@ -678,10 +113,10 @@ Index: multipath-tools/multipath/multipath.conf.redhat
+# path_grouping_policy multibus
+# }
+#}
-Index: multipath-tools/kpartx/Makefile
+Index: multipath-tools-090407/kpartx/Makefile
===================================================================
---- multipath-tools.orig/kpartx/Makefile
-+++ multipath-tools/kpartx/Makefile
+--- multipath-tools-090407.orig/kpartx/Makefile 2009-04-07 15:21:33.000000000 -0500
++++ multipath-tools-090407/kpartx/Makefile 2009-04-07 09:16:31.000000000 -0500
@@ -20,10 +20,10 @@ $(EXEC): $(OBJS)
install: $(EXEC) $(EXEC).8
$(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
diff --git a/scsi_id_change.patch b/scsi_id_change.patch
deleted file mode 100644
index dcb3936..0000000
--- a/scsi_id_change.patch
+++ /dev/null
@@ -1,478 +0,0 @@
-Index: multipath-tools/libmultipath/defaults.h
-===================================================================
---- multipath-tools.orig/libmultipath/defaults.h
-+++ multipath-tools/libmultipath/defaults.h
-@@ -1,4 +1,4 @@
--#define DEFAULT_GETUID "/sbin/scsi_id -g -u -s /block/%n"
-+#define DEFAULT_GETUID "/sbin/scsi_id --whitelisted /dev/%n"
- #define DEFAULT_UDEVDIR "/dev"
- #define DEFAULT_MULTIPATHDIR "/lib/multipath"
- #define DEFAULT_SELECTOR "round-robin 0"
-Index: multipath-tools/libmultipath/hwtable.c
-===================================================================
---- multipath-tools.orig/libmultipath/hwtable.c
-+++ multipath-tools/libmultipath/hwtable.c
-@@ -172,7 +172,7 @@ static struct hwentry default_hw[] = {
- /* HP Smart Array */
- .vendor = "HP",
- .product = "LOGICAL VOLUME.*",
-- .getuid = "/sbin/scsi_id -n -g -u -s /block/%n",
-+ .getuid = "/sbin/scsi_id --whitelisted /dev/%n",
- .features = DEFAULT_FEATURES,
- .hwhandler = DEFAULT_HWHANDLER,
- .selector = DEFAULT_SELECTOR,
-@@ -214,7 +214,7 @@ static struct hwentry default_hw[] = {
- {
- .vendor = "EMC",
- .product = "SYMMETRIX",
-- .getuid = "/sbin/scsi_id -g -u -ppre-spc3-83 -s /block/%n",
-+ .getuid = "/sbin/scsi_id --page=pre-spc3-83 --whitelisted /dev/%n",
- .features = DEFAULT_FEATURES,
- .hwhandler = DEFAULT_HWHANDLER,
- .selector = DEFAULT_SELECTOR,
-@@ -679,7 +679,7 @@ static struct hwentry default_hw[] = {
- {
- .vendor = "PIVOT3",
- .product = "RAIGE VOLUME",
-- .getuid = "/sbin/scsi_id -p 0x80 -g -u -s /block/%n",
-+ .getuid = "/sbin/scsi_id --page=0x80 --whitelisted /dev/%n",
- .features = "1 queue_if_no_path",
- .hwhandler = DEFAULT_HWHANDLER,
- .selector = DEFAULT_SELECTOR,
-Index: multipath-tools/multipath.conf.annotated
-===================================================================
---- multipath-tools.orig/multipath.conf.annotated
-+++ multipath-tools/multipath.conf.annotated
-@@ -55,9 +55,9 @@
- # # scope : multipath
- # # desc : the default program and args to callout to obtain a unique
- # # path identifier. Absolute path required
--# # default : /sbin/scsi_id -g -u -s
-+# # default : /sbin/scsi_id --whitelisted
- # #
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- #
- # #
- # # name : prio
-@@ -336,7 +336,7 @@
- # # desc : the program and args to callout to obtain a unique
- # # path identifier. Absolute path required
- # #
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- #
- # #
- # # name : path_selector
-Index: multipath-tools/multipath.conf.defaults
-===================================================================
---- multipath-tools.orig/multipath.conf.defaults
-+++ multipath-tools/multipath.conf.defaults
-@@ -6,7 +6,7 @@
- # polling_interval 5
- # selector "round-robin 0"
- # path_grouping_policy failover
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # prio const
- # path_checker directio
- # rr_min_io 1000
-@@ -26,7 +26,7 @@
- # device {
- # vendor "APPLE*"
- # product "Xserve RAID"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -39,7 +39,7 @@
- # device {
- # vendor "3PARdata"
- # product "VV"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -52,7 +52,7 @@
- # device {
- # vendor "DEC"
- # product "HSG80"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "1 hp-sw"
- # path_selector "round-robin 0"
-@@ -65,7 +65,7 @@
- # device {
- # vendor "HP"
- # product "A6189A"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -79,7 +79,7 @@
- # device {
- # vendor "(COMPAQ|HP)"
- # product "(MSA|HSV)1.0.*"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "1 hp-sw"
- # path_selector "round-robin 0"
-@@ -93,7 +93,7 @@
- # device {
- # vendor "HP"
- # product "MSA VOLUME"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -123,7 +123,7 @@
- # device {
- # vendor "(COMPAQ|HP)"
- # product "HSV1[01]1|HSV2[01]0|HSV300"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -138,7 +138,7 @@
- # device {
- # vendor "HP"
- # product "MSA2[02]12*"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -153,7 +153,7 @@
- # device {
- # vendor "HP"
- # product "LOGICAL VOLUME.*"
--# getuid_callout "/sbin/scsi_id -n -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -168,7 +168,7 @@
- # device {
- # vendor "DDN"
- # product "SAN DataDirector"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -181,7 +181,7 @@
- # device {
- # vendor "EMC"
- # product "SYMMETRIX"
--# getuid_callout "/sbin/scsi_id -g -u -ppre-spc3-83 -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --page=pre-spc3-83 --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -195,7 +195,7 @@
- # vendor "DGC"
- # product ".*"
- # product_blacklist "LUNZ"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # prio_callout "/sbin/mpath_prio_emc /dev/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "1 emc"
-@@ -211,7 +211,7 @@
- # device {
- # vendor "FSC"
- # product "CentricStor"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -224,7 +224,7 @@
- # device {
- # vendor "(HITACHI|HP)"
- # product "OPEN-.*"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -237,7 +237,7 @@
- # device {
- # vendor "HITACHI"
- # product "DF.*"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -251,7 +251,7 @@
- # device {
- # vendor "IBM"
- # product "ProFibre 4000R"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -264,7 +264,7 @@
- # device {
- # vendor "IBM"
- # product "1722-600"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "1 rdac"
- # path_selector "round-robin 0"
-@@ -279,7 +279,7 @@
- # device {
- # vendor "IBM"
- # product "1742"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "1 rdac"
- # path_selector "round-robin 0"
-@@ -294,7 +294,7 @@
- # device {
- # vendor "IBM"
- # product "1814"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "1 rdac"
- # path_selector "round-robin 0"
-@@ -309,7 +309,7 @@
- # device {
- # vendor "IBM"
- # product "1815"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "1 rdac"
- # path_selector "round-robin 0"
-@@ -324,7 +324,7 @@
- # device {
- # vendor "IBM"
- # product "3526"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "1 rdac"
- # path_selector "round-robin 0"
-@@ -339,7 +339,7 @@
- # device {
- # vendor "IBM"
- # product "3542"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -352,7 +352,7 @@
- # device {
- # vendor "IBM"
- # product "2105(800|F20)"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -365,7 +365,7 @@
- # device {
- # vendor "IBM"
- # product "1750500"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -379,7 +379,7 @@
- # device {
- # vendor "IBM"
- # product "2107900"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -392,7 +392,7 @@
- # device {
- # vendor "IBM"
- # product "2145"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -420,7 +420,7 @@
- # device {
- # vendor "NETAPP"
- # product "LUN.*"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -434,7 +434,7 @@
- # device {
- # vendor "IBM"
- # product "Nseries.*"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -448,7 +448,7 @@
- # device {
- # vendor "Pillar"
- # product "Axiom.*"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -461,7 +461,7 @@
- # device {
- # vendor "SGI"
- # product "TP9[13]00"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -474,7 +474,7 @@
- # device {
- # vendor "SGI"
- # product "TP9[45]00"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "1 rdac"
- # path_selector "round-robin 0"
-@@ -489,7 +489,7 @@
- # device {
- # vendor "SGI"
- # product "IS.*"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "1 rdac"
- # path_selector "round-robin 0"
-@@ -504,7 +504,7 @@
- # device {
- # vendor "STK"
- # product "OPENstorage D280"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -518,7 +518,7 @@
- # device {
- # vendor "SUN"
- # product "(StorEdge 3510|T4)"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -531,7 +531,7 @@
- # device {
- # vendor "PIVOT3"
- # product "RAIGE VOLUME"
--# getuid_callout "/sbin/scsi_id -p 0x80 -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --page=0x80 --whitelisted /dev/%n"
- # features "1 queue_if_no_path"
- # hardware_handler "0"
- # path_selector "round-robin 0"
-@@ -544,7 +544,7 @@
- # device {
- # vendor "SUN"
- # product "CSM200_R"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "1 rdac"
- # path_selector "round-robin 0"
-@@ -559,7 +559,7 @@
- # device {
- # vendor "SUN"
- # product "LCSM100_F"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "1 rdac"
- # path_selector "round-robin 0"
-@@ -574,7 +574,7 @@
- # device {
- # vendor "DELL"
- # product "MD3000"
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # features "0"
- # hardware_handler "1 rdac"
- # path_selector "round-robin 0"
-Index: multipath-tools/multipath.conf.synthetic
-===================================================================
---- multipath-tools.orig/multipath.conf.synthetic
-+++ multipath-tools/multipath.conf.synthetic
-@@ -7,7 +7,7 @@
- # polling_interval 10
- # selector "round-robin 0"
- # path_grouping_policy multibus
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # prio const
- # path_checker directio
- # rr_min_io 100
-@@ -52,7 +52,7 @@
- # vendor "COMPAQ "
- # product "HSV110 (C)COMPAQ"
- # path_grouping_policy multibus
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id -whitelisted /block/%n"
- # path_checker directio
- # path_selector "round-robin 0"
- # hardware_handler "0"
-Index: multipath-tools/multipath/multipath.conf.5
-===================================================================
---- multipath-tools.orig/multipath/multipath.conf.5
-+++ multipath-tools/multipath/multipath.conf.5
-@@ -109,7 +109,7 @@ Default value is \fImultibus\fR.
- The default program and args to callout to obtain a unique path
- identifier. Should be specified with an absolute path. Default value
- is
--.I /lib/udev/scsi_id -g -u -s
-+.I /lib/udev/scsi_id --whitelisted
- .TP
- .B prio_callout
- The default program and args to callout to obtain a path priority
-Index: multipath-tools/multipath/multipath.conf.redhat
-===================================================================
---- multipath-tools.orig/multipath/multipath.conf.redhat
-+++ multipath-tools/multipath/multipath.conf.redhat
-@@ -35,7 +35,7 @@ defaults {
- # polling_interval 10
- # selector "round-robin 0"
- # path_grouping_policy multibus
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # prio alua
- # path_checker readsector0
- # rr_min_io 100
-@@ -81,7 +81,7 @@ defaults {
- # vendor "COMPAQ "
- # product "HSV110 (C)COMPAQ"
- # path_grouping_policy multibus
--# getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
-+# getuid_callout "/sbin/scsi_id --whitelisted /dev/%n"
- # path_checker readsector0
- # path_selector "round-robin 0"
- # hardware_handler "0"
diff --git a/sources b/sources
index 3ef0dff..6db3245 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-3ffa9a7f768fab9749689fe2624a8551 multipath-tools-080804.tgz
+450d0715048f3a8c82082ad2b9e5a2b3 multipath-tools-090429.tgz
diff --git a/sparc64fix.patch b/sparc64fix.patch
deleted file mode 100644
index 6e50bf8..0000000
--- a/sparc64fix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: multipath-tools-080515/kpartx/lopart.c
-===================================================================
---- multipath-tools-080515.orig/kpartx/lopart.c
-+++ multipath-tools-080515/kpartx/lopart.c
-@@ -30,7 +30,7 @@
- #if defined(__hppa__) || defined(__powerpc64__) || defined (__alpha__) \
- || defined (__x86_64__)
- typedef unsigned long __kernel_old_dev_t;
--#elif defined(__powerpc__) || defined(__ia64__)
-+#elif defined(__powerpc__) || defined(__ia64__) || (defined(__sparc__) && defined (__arch64__))
- typedef unsigned int __kernel_old_dev_t;
- #else
- typedef unsigned short __kernel_old_dev_t;
diff --git a/uevent_fix.patch b/uevent_fix.patch
deleted file mode 100644
index 78c47e8..0000000
--- a/uevent_fix.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Index: multipath-tools/multipathd/main.c
-===================================================================
---- multipath-tools.orig/multipathd/main.c
-+++ multipath-tools/multipathd/main.c
-@@ -602,14 +602,20 @@ uxsock_trigger (char * str, char ** repl
- static int
- uev_discard(char * devpath)
- {
-+ char *tmp;
- char a[10], b[10];
-
- /*
- * keep only block devices, discard partitions
- */
-- if (sscanf(devpath, "/block/%10s", a) != 1 ||
-- sscanf(devpath, "/block/%10[^/]/%10s", a, b) == 2) {
-- condlog(4, "discard event on %s", devpath);
-+ tmp = strstr(devpath, "/block/");
-+ if (tmp == NULL){
-+ condlog(0, "no /block/ in '%s'", devpath);
-+ return 1;
-+ }
-+ if (sscanf(tmp, "/block/%10s", a) != 1 ||
-+ sscanf(tmp, "/block/%10[^/]/%10s", a, b) == 2) {
-+ condlog(0, "discard event on %s", devpath);
- return 1;
- }
- return 0;