.\" Update the date below if you make any significant change.
.\" Make sure there are no errors with:
.\" groff -z -wall -b -e -t multipath/multipath.conf.5
+.\" man --warnings -E UTF-8 -l -Tutf8 -Z multipath/multipath.conf.5 >/dev/null
.\"
-.\" TODO: Look for XXX
+.\" TODO: Look for XXX and ???
.\"
.\" ----------------------------------------------------------------------------
.
-.TH MULTIPATH.CONF 5 2016-08-07 "Linux"
+.TH MULTIPATH.CONF 5 2017-08-18 Linux
.
.
.\" ----------------------------------------------------------------------------
overwrite the built-in configuration table of \fBmultipathd\fP.
Any line whose first non-white-space character is a '#' is considered
a comment line. Empty lines are ignored.
+.PP
+Currently used multipathd configuration can be displayed with the \fBmultipath -t\fR
+or \fBmultipathd show config\fR command.
.
.
.\" ----------------------------------------------------------------------------
section in which they occur.
.LP
.
+\fB<attribute>\fR and \fB<value>\fR must be on a single line.
+\fB<attribute>\fR is one of the keywords listed in this man page.
+\fB<value>\fR is either a simple word (containing no whitespace and none of the
+characters '\(dq', '#', and '!') or \fIone\fR string enclosed in double
+quotes ("..."). Outside a quoted string, text starting with '#', and '!' is
+regarded as a comment and ignored until the end of the line. Inside a quoted
+string, '#' and '!' are normal characters, and whitespace is preserved.
+To represent a double quote character inside a double quoted string, use two
+consecutive double quotes ('""'). Thus '2.5\(dq SSD' can be written as "2.5"" SSD".
+.LP
+.
+Opening braces ('{') must follow the (sub)section name on the same line. Closing
+braces ('}') that mark the end of a (sub)section must be the only non-whitespace
+character on the line. Whitespace is ignored except inside double quotes, thus
+the indentation shown in the above example is helpful for human readers but
+not mandatory.
+.LP
.
The following \fIsection\fP keywords are recognized:
.TP 17
levels are between 0 and 6.
.RS
.TP
-Default value is: \fB2\fR
+The default is: \fB2\fR
.RE
.
.
setting in the multipathd.service definition if systemd is used.
.RS
.TP
-Default value is: \fB5\fR
+The default is: \fB5\fR
.RE
.
.
Maximal interval between two path checks in seconds.
.RS
.TP
-Default value is: \fB4 * polling_interval\fR
+The default is: \fB4 * polling_interval\fR
.RE
.
.
\fIyes\fR and \fIno\fR.
.RS
.TP
-Default value is: \fBno\fR
+The default is: \fBno\fR
.RE
.
.
.TP
.B multipath_dir
-Directory where the dynamic shared objects are stored.
+Directory where the dynamic shared objects are stored. Defined at compile time,
+commonly \fI/lib64/multipath/\fR or \fI/lib/multipath/\fR.
.RS
.TP
-Default value is: \fB<system dependent>\fR. Defined at compile time, commonly
-\fI/lib64/multipath/\fR.
+The default is: \fB<system dependent>\fR
.RE
.
.
.RS
.TP 12
.I "round-robin 0"
-Loop through every path in the path group, sending the same amount of IO to
-each.
+Loop through every path in the path group, sending the same amount of I/O to
+each. Some aspects of behavior can be controlled with the attributes:
+\fIrr_min_io\fR, \fIrr_min_io_rq\fR and \fIrr_weight\fR.
.TP
.I "queue-length 0"
-Send the next bunch of IO down the path with the least amount of outstanding IO.
+(Since 2.6.31 kernel) Choose the path for the next bunch of I/O based on the amount
+of outstanding I/O to the path.
.TP
.I "service-time 0"
-Choose the path for the next bunch of IO based on the amount of outstanding IO
-to the path and its relative throughput.
+(Since 2.6.31 kernel) Choose the path for the next bunch of I/O based on the amount
+of outstanding I/O to the path and its relative throughput.
.TP
-Default value is: \fBservice-time 0\fR
+The default is: \fBservice-time 0\fR
.RE
.
.
One priority group per target node name. Target node names are fetched
in \fI/sys/class/fc_transport/target*/node_name\fR.
.TP
-Default value is: \fBfailover\fR
+The default is: \fBfailover\fR
+.RE
+.
+.
+.TP
+.B uid_attrs
+The udev attribute providing a unique path identifier for corresponding
+type of path devices. If this field is configured and matched with type
+of device, it would override any other methods providing for device
+unique identifier in config file, and it would activate merging uevents
+according to the identifier to promote effiecncy in processing uevents.
+It has no default value, if you want to identify path by udev attribute
+and to activate merging uevents for SCSI and DASD devices, you can set
+its value as: \fIuid_attrs "sd:ID_SERIAL dasd:ID_UID"\fR.
+.RS
+.TP
+The default is: \fB<unset>\fR
.RE
.
.
The udev attribute providing a unique path identifier.
.RS
.TP
-Default value is: for SCSI devices \fBID_SERIAL\fR
+The default is: for SCSI devices \fBID_SERIAL\fR
.TP
-Default value is: for DASD devices \fBID_UID\fR
+The default is: for DASD devices \fBID_UID\fR
+.TP
+The default is: for NVME devices \fBID_WWN\fR
.RE
.
.
.B getuid_callout
(Superseded by \fIuid_attribute\fR) The default program and args to callout
to obtain a unique path identifier. Should be specified with an absolute path.
+.RS
.TP
+The default is: \fB<unset>\fR
+.RE
.
.
+.TP
.B prio
The name of the path priority routine. The specified routine
should return a numeric value specifying the relative priority
.I sysfs
Use the sysfs attributes \fIaccess_state\fR and \fIpreferred_path\fR to
generate the path priority. This prioritizer accepts the optional prio_arg
-\fIexclusive_pref_bit\fR
+\fIexclusive_pref_bit\fR.
.TP
.I emc
(Hardware-dependent)
Generate the path priority for DGC class arrays as CLARiiON CX/AX and
-EMC VNX families.
+EMC VNX and Unity families.
.TP
.I alua
(Hardware-dependent)
Generate the path priority based on the regular expression and the
priority provided as argument. Requires prio_args keyword.
.TP
+.I path_latency
+Generate the path priority based on a latency algorithm.
+Requires prio_args keyword.
+.TP
.I datacore
-.\" XXX
-???. Requires prio_args keyword.
+(Hardware-dependent)
+Generate the path priority for some DataCore storage arrays. Requires prio_args
+keyword.
.TP
.I iet
-.\" XXX
-???. Requires prio_args keyword.
-.TP
-Default value is: \fBconst\fR
+(iSCSI only)
+Generate path priority for iSCSI targets based on IP address. Requires
+prio_args keyword.
+.PP
+The default depends on the \fBdetect_prio\fR setting: If \fBdetect_prio\fR is
+\fByes\fR (default), the default priority algorithm is \fBsysfs\fR (except for
+NetAPP E-Series, where it is \fBalua\fR). If \fBdetect_prio\fR is
+\fBno\fR, the default priority algorithm is \fBconst\fR.
.RE
.
.
.RS
.TP 8
.I hbtl
-regex can be of SCSI H:B:T:L format. For example: 1:0:.:. , *:0:0:.
+Regex can be of SCSI H:B:T:L format. For example: 1:0:.:. , *:0:0:.
.TP
.I devname
-regex can be of device name format. For example: sda , sd.e
+Regex can be of device name format. For example: sda , sd.e
.TP
.I serial
-regex can be of serial number format. For example: .*J1FR.*324 . The serial can
+Regex can be of serial number format. For example: .*J1FR.*324 . The serial can
be looked up through sysfs or by running multipathd show paths format "%z". For
example: 0395J1FR904324
.TP
.I wwn
-regex can be of the form \fI"host_wwnn:host_wwpn:target_wwnn:target_wwpn"\fR
+Regex can be of the form \fI"host_wwnn:host_wwpn:target_wwnn:target_wwpn"\fR
these values can be looked up through sysfs or by running \fImultipathd show paths format
"%N:%R:%n:%r"\fR. For example: 0x200100e08ba0aea0:0x210100e08ba0aea0:.*:.* , .*:.*:iqn.2009-10.com.redhat.msp.lab.ask-06:.*
.RE
.TP 12
+.I path_latency
+Needs a value of the form "io_num=\fI<20>\fR base_num=\fI<10>\fR"
+.RS
+.TP 8
+.I io_num
+The number of read IOs sent to the current path continuously, used to calculate the average path latency.
+Valid Values: Integer, [2, 200].
+.TP
+.I base_num
+The base number value of logarithmic scale, used to partition different priority ranks. Valid Values: Integer,
+[2, 10]. And Max average latency value is 100s, min average latency value is 1us.
+For example: If base_num=10, the paths will be grouped in priority groups with path latency <=1us, (1us, 10us],
+(10us, 100us], (100us, 1ms], (1ms, 10ms], (10ms, 100ms], (100ms, 1s], (1s, 10s], (10s, 100s], >100s.
+.RE
+.TP 12
.I alua
If \fIexclusive_pref_bit\fR is set, paths with the \fIpreferred path\fR bit
set will always be in their own path group.
.TP
+.I sysfs
+If \fIexclusive_pref_bit\fR is set, paths with the \fIpreferred path\fR bit
+set will always be in their own path group.
+.TP
.I datacore
-.\" XXX
-\fIpreferredsds\fR ???.
+.RS
+.TP 8
+.I preferredsds
+(Mandatory) The preferred "SDS name".
.TP
+.I timeout
+(Optional) The timeout for the INQUIRY, in ms.
+.RE
+.TP 12
.I iet
-.\" XXX
-\fIpreferredip\fR ???.
+.RS
+.TP 8
+.I preferredip=...
+(Mandatory) Th preferred IP address, in dotted decimal notation, for iSCSI targets.
+.RE
.TP
-Default value is: \fB<unset>\fR
+The default is: \fB<unset>\fR
.RE
.
.
.TP
.B features
Specify any device-mapper features to be used. Syntax is \fInum list\fR
-where \fInum\fR is the number, between 0 and 6, of features in \fIlist\fR.
+where \fInum\fR is the number, between 0 and 8, of features in \fIlist\fR.
Possible values for the feature list are:
.RS
.TP 12
.I queue_if_no_path
-(Superseded by \fIno_path_retry\fR) Queue IO if no path is active. Identical to
-the \fIno_path_retry\fR with \fIqueue\fR value. See KNOWN ISSUES.
-.TP
-.I no_partitions
-Disable automatic partitions generation via kpartx.
-.TP
-.I pg_init_retries
-Number of times to retry pg_init, it must be between 1 and 50.
-.TP
-.I pg_init_delay_msecs
-Number of msecs before pg_init retry, it must be between 0 and 60000.
-.TP
-Default value is: \fB0\fR
+(Deprecated, superseded by \fIno_path_retry\fR) Queue I/O if no path is active.
+Identical to the \fIno_path_retry\fR with \fIqueue\fR value. If both this
+feature and \fIno_path_retry\fR are set, the latter value takes
+precedence. See KNOWN ISSUES.
+.TP
+.I pg_init_retries <times>
+(Since kernel 2.6.24) Number of times to retry pg_init, it must be between 1 and 50.
+.TP
+.I pg_init_delay_msecs <msecs>
+(Since kernel 2.6.38) Number of msecs before pg_init retry, it must be between 0 and 60000.
+.TP
+.I queue_mode <mode>
+(Since kernel 4.8) Select the the queueing mode per multipath device.
+<mode> can be \fIbio\fR, \fIrq\fR or \fImq\fR, which corresponds to
+bio-based, request-based, and block-multiqueue (blk-mq) request-based,
+respectively.
+The default depends on the kernel parameter \fBdm_mod.use_blk_mq\fR. It is
+\fImq\fR if the latter is set, and \fIrq\fR otherwise.
+.TP
+The default is: \fB<unset>\fR
.RE
.
.
.I emc_clariion
(Hardware-dependent)
Query the DGC/EMC specific EVPD page 0xC0 to determine the path state
-for CLARiiON CX/AX and EMC VNX arrays families.
+for CLARiiON CX/AX and EMC VNX and Unity arrays families.
.TP
.I hp_sw
(Hardware-dependent)
(Hardware-dependent)
Check the path state for HP/COMPAQ Smart Array(CCISS) controllers.
.TP
+.I none
+Do not check the device, fallback to use the values retrieved from sysfs
+.TP
.I rbd
Check if the path is in the Ceph blacklist and remap the path if it is.
.TP
-Default value is: \fBtur\fR
+The default is: \fBtur\fR
.RE
.
.
The \fIuser_friendly_names\fR prefix.
.RS
.TP
-Default value is: \fBmpath\fR
+The default is: \fBmpath\fR
.RE
.
.
.TP
.B failback
Tell multipathd how to manage path group failback.
+To select \fIimmediate\fR or a \fIvalue\fR, it's mandatory that the device
+has support for a working prioritizer.
.RS
.TP 12
.I immediate
.I values > 0
Deferred failback (time to defer in seconds).
.TP
-Default value is: \fBmanual\fR
+The default is: \fBmanual\fR
.RE
.
.
.TP
.B rr_min_io
-The number of IO to route to a path before switching to the next in
-the same path group. This is only for BIO based multipath.
+Number of I/O requests to route to a path before switching to the next in the
+same path group. This is only for \fIBlock I/O\fR(BIO) based multipath and
+only apply to \fIround-robin\fR path_selector.
.RS
.TP
-Default value is: \fB1000\fR
+The default is: \fB1000\fR
.RE
.
.
.TP
.B rr_min_io_rq
-The number of IO requests to route to a path before switching to the
-next in the same path group. This is only for request based multipath.
+Number of I/O requests to route to a path before switching to the next in the
+same path group. This is only for \fIRequest\fR based multipath and
+only apply to \fIround-robin\fR path_selector.
.RS
.TP
-Default value is: \fB1\fR
+The default is: \fB1\fR
.RE
.
.
if that number is greated than 1024.
.RS
.TP
-Default value is: \fBmax\fR
+The default is: \fBmax\fR
.RE
.
.
.TP
.B rr_weight
-If set to \fIpriorities\fR the multipath configurator will assign
-path weights as "path prio * rr_min_io". Possible values are
+If set to \fIpriorities\fR the multipath configurator will assign path weights
+as "path prio * rr_min_io". Possible values are
.I priorities
or
.I uniform .
+Only apply to \fIround-robin\fR path_selector.
.RS
.TP
-Default value is: \fBuniform\fR
+The default is: \fBuniform\fR
.RE
.
.
.TP
.B no_path_retry
-Specify the number of retries until disable queueing, or
+Specify what to do when all paths are down. Possible values are:
+.RS
+.TP 12
+.I value > 0
+Number of retries until disable I/O queueing.
+.TP
.I fail
-for immediate failure (no queueing),
+For immediate failure (no I/O queueing).
+.TP
.I queue
-for never stop queueing. If unset no queueing is attempted. See KNOWN ISSUES.
-.RS
+For never stop I/O queueing, similar to \fIqueue_if_no_path\fR. See KNOWN ISSUES.
.TP
-Default value is: \fB<unset>\fR
+The default is: \fBfail\fR
.RE
.
.
, when multipathd stops, queueing will be turned off for all devices.
This is useful for devices that set no_path_retry. If a machine is
shut down while all paths to a device are down, it is possible to hang waiting
-for IO to return from the device after multipathd has been stopped. Without
+for I/O to return from the device after multipathd has been stopped. Without
multipathd running, access to the paths cannot be restored, and the kernel
-cannot be told to stop queueing IO. Setting queue_without_daemon to
+cannot be told to stop queueing I/O. Setting queue_without_daemon to
.I no
, avoids this problem.
.RS
.TP
-Default value is: \fBno\fR
+The default is: \fBno\fR
.RE
.
.
commands with an explicit timeout, in seconds.
.RS
.TP
-Default value is: in \fB/sys/block/sd<x>/device/timeout\fR
+The default is: in \fB/sys/block/sd<x>/device/timeout\fR
.RE
.
.
deleted.
.RS
.TP
-Default value is: \fBno\fR
+The default is: \fBno\fR
.RE
.
.
be overridden by any specific aliases in the \fImultipaths\fR section.
.RS
.TP
-Default value is: \fBno\fR
+The default is: \fBno\fR
.RE
.
.
.TP
.B fast_io_fail_tmo
Specify the number of seconds the SCSI layer will wait after a problem has been
-detected on a FC remote port before failing IO to devices on that remote port.
+detected on a FC remote port before failing I/O to devices on that remote port.
This should be smaller than dev_loss_tmo. Setting this to
.I off
will disable the timeout.
.RS
.TP
-Default value is: in \fB5\fR
+The default is: in \fB5\fR
.RE
.
.
retry interval \fIno_path_retry\fR * \fIpolling_interval\fR
if a number of retries is given with \fIno_path_retry\fR and the
overall retry interval is longer than the specified \fIdev_loss_tmo\fR value.
-The Linux kernel will cap this value to \fI300\fR if \fIfast_io_fail_tmo\fR
+The Linux kernel will cap this value to \fI600\fR if \fIfast_io_fail_tmo\fR
is not set. See KNOWN ISSUES.
.RS
.TP
-Default value is: \fB600\fR
+The default is: \fB600\fR
.RE
.
.
option is set.
.RS
.TP
-Default value is: \fB/etc/multipath/bindings\fR
+The default is: \fB/etc/multipath/bindings\fR
.RE
.
.
of the WWIDs for LUNs it has created multipath devices on in the past.
.RS
.TP
-Default value is: \fB/etc/multipath/wwids\fR
+The default is: \fB/etc/multipath/wwids\fR
+.RE
+.
+.
+.TP
+.B prkeys_file
+The full pathname of the prkeys file, which is used by multipathd to keep
+track of the persistent reservation key used for a specific WWID, when
+\fIreservation_key\fR is set to \fBfile\fR.
+.RS
+.TP
+The default is \fB/etc/multipath/prkeys\fR
.RE
.
.
, multipathd always logs the path checker error at logging level 2.
.RS
.TP
-Default value is: \fBalways\fR
+The default is: \fBalways\fR
.RE
.
.
list which contains an 8-byte value provided by the application client to the
device server to identify the I_T nexus.
.RS
-.TP
-Default value is: \fB<unset>\fR
+.PP
+Alternatively, this can be set to \fBfile\fR, which will store the RESERVATION
+KEY registered by mpathpersist in the \fIprkeys_file\fR. multipathd will then
+use this key to register additional paths as they appear. When the
+registration is removed, the RESERVATION KEY is removed from the
+\fIprkeys_file\fR.
+.TP
+The default is: \fB<unset>\fR
.RE
.
.
.TP
.B retain_attached_hw_handler
-If set to
+(Obsolete for kernels >= 4.3) If set to
.I yes
and the SCSI layer has already attached a hardware_handler to the device,
multipath will not force the device to use the hardware_handler specified by
mutipath.conf. If the SCSI layer has not attached a hardware handler,
multipath will continue to use its configured hardware handler.
.RS
-.TP
-Default value is: \fByes\fR
+.PP
+The default is: \fByes\fR
+.PP
+\fBImportant Note:\fR Linux kernel 4.3 or newer always behaves as if
+\fB"retain_attached_hw_handler yes"\fR was set.
.RE
.
.
, the prioritizer will be selected as usual.
.RS
.TP
-Default value is: \fByes\fR
+The default is: \fByes\fR
+.RE
+.
+.
+.TP
+.B detect_checker
+if set to
+.I yes
+, multipath will try to detect if the device supports SCSI-3 ALUA. If so, the
+device will automatically use the \fItur\fR checker. If set to
+.I no
+, the checker will be selected as usual.
+.RS
+.TP
+The default is: \fByes\fR
.RE
.
.
multipathd checkers running in parallel causes significant CPU pressure.
.RS
.TP
-Default value is: \fBno\fR
+The default is: \fBno\fR
.RE
.
.
.TP
-.B strict_timinig
+.B strict_timing
If set to
.I yes
, multipathd will start a new path checker loop after exactly one second,
seconds.
.RS
.TP
-Default value is: \fBno\fR
+The default is: \fBno\fR
.RE
.
.
will be canceled.
.RS
.TP
-Default value is: \fBno\fR
+The default is: \fBno\fR
.RE
.
.
the \fI-p\fR option is used, and always add delimiter.
.RS
.TP
-Default value is: \fB<unset>\fR
+The default is: \fB<unset>\fR
.RE
.
.
config_dir must either be "" or a fully qualified directory name.
.RS
.TP
-Default value is: \fB/etc/multipath/conf.d/\fR
+The default is: \fB/etc/multipath/conf.d/\fR
+.RE
+.
+.
+.TP
+.B marginal_path_double_failed_time
+One of the four parameters of supporting path check based on accounting IO
+error such as intermittent error. When a path failed event occurs twice in
+\fImarginal_path_double_failed_time\fR seconds due to an IO error and all the
+other three parameters are set, multipathd will fail the path and enqueue
+this path into a queue of which members are sent a couple of continuous
+direct reading asynchronous IOs at a fixed sample rate of 10HZ to start IO
+error accounting process.
+.RS
+.TP
+The default is: \fBno\fR
+.RE
+.
+.
+.TP
+.B marginal_path_err_sample_time
+One of the four parameters of supporting path check based on accounting IO
+error such as intermittent error. If it is set to a value no less than 120,
+when a path fail event occurs twice in \fImarginal_path_double_failed_time\fR
+second due to an IO error, multipathd will fail the path and enqueue this
+path into a queue of which members are sent a couple of continuous direct
+reading asynchronous IOs at a fixed sample rate of 10HZ to start the IO
+accounting process for the path will last for
+\fImarginal_path_err_sample_time\fR.
+If the rate of IO error on a particular path is greater than the
+\fImarginal_path_err_rate_threshold\fR, then the path will not reinstate for
+\fImarginal_path_err_recheck_gap_time\fR seconds unless there is only one
+active path. After \fImarginal_path_err_recheck_gap_time\fR expires, the path
+will be requeueed for rechecking. If checking result is good enough, the
+path will be reinstated.
+.RS
+.TP
+The default is: \fBno\fR
+.RE
+.
+.
+.TP
+.B marginal_path_err_rate_threshold
+The error rate threshold as a permillage (1/1000). One of the four parameters
+of supporting path check based on accounting IO error such as intermittent
+error. Refer to \fImarginal_path_err_sample_time\fR. If the rate of IO errors
+on a particular path is greater than this parameter, then the path will not
+reinstate for \fImarginal_path_err_rate_threshold\fR seconds unless there is
+only one active path.
+.RS
+.TP
+The default is: \fBno\fR
+.RE
+.
+.
+.TP
+.B marginal_path_err_recheck_gap_time
+One of the four parameters of supporting path check based on accounting IO
+error such as intermittent error. Refer to
+\fImarginal_path_err_sample_time\fR. If this parameter is set to a positive
+value, the failed path of which the IO error rate is larger than
+\fImarginal_path_err_rate_threshold\fR will be kept in failed state for
+\fImarginal_path_err_recheck_gap_time\fR seconds. When
+\fImarginal_path_err_recheck_gap_time\fR seconds expires, the path will be
+requeueed for checking. If checking result is good enough, the path will be
+reinstated, or else it will keep failed.
+.RS
+.TP
+The default is: \fBno\fR
.RE
.
.
have stayed up for \fIdelay_wait_checks\fR checks.
.RS
.TP
-Default value is: \fBno\fR
+The default is: \fBno\fR
.RE
.
.
\fIdelay_wait_checks\fR checks.
.RS
.TP
-Default value is: \fBno\fR
+The default is: \fBno\fR
.RE
.
.
while find_multipaths was set (even if that multipath device doesn't currently
exist).
Whenever a multipath device is created with find_multipaths set, multipath will
-remeber the WWID of the device, so that it will automatically create the
+remember the WWID of the device, so that it will automatically create the
device again, as soon as it sees a path with that WWID. This should allow most
users to have multipath automatically choose the correct paths to make into
multipath devices, without having to edit the blacklist.
.RS
.TP
-Default value is: \fBno\fR
+The default is: \fBno\fR
.RE
.
.
those issues.
.RS
.TP
-Default value is: \fB1000\fR
+The default is: \fB1000\fR
.RE
.
.
WWID.
.RS
.TP
-Default value is: \fB3\fR
+The default is: \fB3\fR
.RE
.
.
Sets the amount of time, in seconds, to wait between retriggers.
.RS
.TP
-Default value is: \fB10\fR
+The default is: \fB10\fR
.RE
.
.
on a device until it receives a change uevent from the initial table load.
.RS
.TP
-Default value is: \fB30\fR
+The default is: \fB30\fR
+.RE
+.
+.
+.TP
+.B skip_kpartx
+If set to
+.I yes
+, kpartx will not automatically create partitions on the device.
+.RS
+.TP
+The default is: \fBno\fR
+.RE
+.
+.
+.TP
+.B disable_changed_wwids
+If set to \fIyes\fR, multipathd will check the path wwid on change events, and
+if it has changed from the wwid of the multipath device, multipathd will
+disable access to the path until the wwid changes back.
+.RS
+.TP
+The default is: \fBno\fR
+.RE
+.
+.
+.TP
+.B remove_retries
+This sets how may times multipath will retry removing a device that is in-use.
+Between each attempt, multipath will sleep 1 second.
+.RS
+.TP
+The default is: \fB0\fR
+.RE
+.
+.
+.TP
+.B max_sectors_kb
+Sets the max_sectors_kb device parameter on all path devices and the multipath
+device to the specified value.
+.RS
+.TP
+The default is: \fB<device dependent>\fR
+.RE
+.
+.
+.TP
+.B ghost_delay
+Sets the number of seconds that multipath will wait after creating a device
+with only ghost paths before marking it ready for use in systemd. This gives
+the active paths time to appear before the multipath runs the hardware handler
+to switch the ghost paths to active ones. Setting this to \fI0\fR or \fIon\fR
+makes multipath immediately mark a device with only ghost paths as ready.
+.RS
+.TP
+The default is \fBno\fR
.RE
.
.
.TP 17
.B devnode
Regular expression of the device nodes to be excluded.
+.RS
+.TP
+The default is: \fB^(ram|raw|loop|fd|md|dm-|sr|scd|st|dcssblk)[0-9]\fR and \fB^(td|hd|vd)[a-z]\fR
+.RE
.TP
.B wwid
The \fIWorld Wide Identification\fR of a device.
Regular expression of the udev property to be whitelisted.
.RS
.TP
-Default value is: \fB(ID_WWN|SCSI_IDENT_.*)\fR
+The default is: \fB(SCSI_IDENT_|ID_WWN)\fR
.RE
.TP
.B device
.TP
.B deferred_remove
.TP
+.B marginal_path_err_sample_time
+.TP
+.B marginal_path_err_rate_threshold
+.TP
+.B marginal_path_err_recheck_gap_time
+.TP
+.B marginal_path_double_failed_time
+.TP
.B delay_watch_checks
.TP
.B delay_wait_checks
+.TP
+.B skip_kpartx
+.TP
+.B max_sectors_kb
+.TP
+.B ghost_delay
.RE
.PD
.LP
.TP 12
.I 1 emc
(Hardware-dependent)
-Hardware handler for DGC class arrays as CLARiiON CX/AX and EMC VNX families.
+Hardware handler for DGC class arrays as CLARiiON CX/AX and EMC VNX and Unity
+families.
.TP
.I 1 rdac
(Hardware-dependent)
.I 1 alua
(Hardware-dependent)
Hardware handler for SCSI-3 ALUA compatible arrays.
-.TP
-Default value is: \fB<unset>\fR
+.PP
+The default is: \fB<unset>\fR
+.PP
+\fBImportant Note:\fR Linux kernels 4.3 and newer automatically attach a device
+handler to known devices (which includes all devices supporting SCSI-3 ALUA)
+and disallow changing the handler
+afterwards. Setting \fBhardware_handler\fR for such devices on these kernels
+has no effect.
.RE
.
.
.TP
.B detect_prio
.TP
+.B detect_checker
+.TP
.B deferred_remove
.TP
+.B marginal_path_err_sample_time
+.TP
+.B marginal_path_err_rate_threshold
+.TP
+.B marginal_path_err_recheck_gap_time
+.TP
+.B marginal_path_double_failed_time
+.TP
.B delay_watch_checks
.TP
.B delay_wait_checks
+.TP
+.B skip_kpartx
+.TP
+.B max_sectors_kb
+.TP
+.B ghost_delay
.RE
.PD
.LP
.TP
.B detect_prio
.TP
+.B detect_checker
+.TP
.B deferred_remove
.TP
+.B marginal_path_err_sample_time
+.TP
+.B marginal_path_err_rate_threshold
+.TP
+.B marginal_path_err_recheck_gap_time
+.TP
+.B marginal_path_double_failed_time
+.TP
.B delay_watch_checks
.TP
.B delay_wait_checks
+.TP
+.B skip_kpartx
+.TP
+.B ghost_delay
.RE
.PD
.LP