Fix rr_min_io_rq keyword name in multipath.conf.5

Fix typo.

Signed-off-by: Leonardo Chiquitto <lchiquitto@suse.com>
Acked-by: Hannes Reinecke <hare@suse.de>
[PATCH] hwtable: Add vendor ID, and update defaults for NetApp

This patch provides hwtable updates for NETAPP/LSI/ENGENIO E-Series
arrays, utilizing new features to detect TPGS support, automatically.

Signed-off-by: Sean Stewart <Sean.Stewart@netapp.com>
Docs: multipath.conf.5: Typo: `occor' -> `occur'

Signed-off-by: Michael Witten <mfwitten@gmail.com>
Docs: multipath.conf.5: path_grouping_policy default is `failover', not `multibus'

$ git grep -n DEFAULT_PGPOLICY -- libmultipath/defaults.h
libmultipath/defaults.h:10:#define DEFAULT_PGPOLICY       FAILOVER

Signed-off-by: Michael Witten <mfwitten@gmail.com>
Docs: multipath.conf.annotated: Update `path_selector' description

In the following commit:

  c015b128103e7a6426d124a38cd679a181573b88
  multipath: change default path_selector to
  Date: Sat Jan 12 00:04:40 2013 -0600

the default for the `path_selector' attribute is changed
from "round-robin 0" to "service-time 0"; this new commit
reflects that change in `multipath.conf.annotated'.

Also, this commit adds documentation about the other
possible values for `path_selector'.

Signed-off-by: Michael Witten <mfwitten@gmail.com>
Docs: multipath.conf.annotated: Document the `no_partitions' feature

The following commit added the `no_partitions' feature:

  095942eb14d735af80aa7d1d9fd8d3d53dc0db70
  Add 'no_partitions' feature
  Date: Wed Jul 23 14:15:12 2008 +0200

Signed-off-by: Michael Witten <mfwitten@gmail.com>
[libmultipath] Minimize noise with snapshots in emc_clariion checker

Patch to stop emc_clariion_checker from logging messages when probes
to snapshot LUNs occur. Notification is still available if logging is
turned up (see condlog()) but normal probing of snapshots will no
longer produce status messages. Path functionality on snapshot probes
is unchanged.

Signed-off-by: Jerry Levy <jerome.levy@emc.com>
Docs: multipath.8: A little quick copyediting

The following patch applies cleanly at least to the following commit:

  de4e708f82c5f5f1575fafefbceb3624600c3dac

To apply this patch, save this email to:

  /path/to/email

and then run the following from the repository:

  $ git am --scissors /path/to/email

8<-----------8<-----------8<-----------8<-----------8<-----------8<-----------

Date: Mon, 22 Apr 2013 21:31:36 +0000

The grammar was arguably incorrect (or at asymmetrical):

  multipath is used to detect... and coalesces them

Also, I found the description for the `device' parameter
to be a little rough.

Signed-off-by: Michael Witten <mfwitten@gmail.com>
Fix failback parameter parsing in conf

This patch fixes a problem introduced in this commit: http://git.opensvc.com/gitweb.cgi?p=multipath-tools/.git;a=commitdiff;h=cef43b6f910f740c0e2d38761f58c5ebedfb7585;hp=41b85341ca514a50d18c592996a2ecb43a81fa90
Currently, the string handler for failback on hw entries expects strings like "manual" to be quoted.  The buffer always strips quotes.
As a result, the keywords manual, immediate, and followover cannot be used to change a failback parameter through multipath.conf

Signed-off-by: Sean Stewart <Sean.Stewart@netapp.com>
Additional fixes for inconsistent quoting in snprint functions

This patch finishes the job from this commit: http://git.opensvc.com/gitweb.cgi?p=multipath-tools/.git;a=commitdiff;h=cef43b6f910f740c0e2d38761f58c5ebedfb7585;hp=41b85341ca514a50d18c592996a2ecb43a81fa90
All attributes printing strings from their snprint functions should now be quotes.

Signed-off-by: Sean Stewart <Sean.Stewart@netapp.com>
[libmultipath] fix whitespace errors

introduced by the 2 previous patches applied through git am.
Make kpartx advise modprobe instead of insmod

Users usually want to use modprobe instead of insmod, since it
handles finding the correct version and dependencies.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Make kpartx correctly handle non-512 byte GPT

The gpt code in kpartx correctly handled non-512 byte gpt
partitions right up until it was time to actually write out the
slice data. At that point it forgot to convert the logical block
address into a the proper slice offset. This patch fixes that.

Signed-off-by: Philipp Schmidt <philipp@ppc.in-berlin.de>
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Fix print_multipath_topology for large outputs

print_multipath_topology had a hard size limit. With a large number
of LUNs and a large number of paths, it was possible to go over
this limit, and have some of the output cut off.
print_multipath_topology now checks for this, and resizes the
buffer if necessary.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Don't print checker messages for ghost paths

Since PATH_GHOST is not an unexpected state, we don't need to
keep printing out checker messages for these paths.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Fix hardware entry matching code

When a user defined hardware table entry's identifiers exactly
match a built-in one's, the built-in one is removed, and the list
is rescaned.  However, the built-in entry is not freed, and on the
rescan, the first user defined entry is treated as a built-in
entry. This patch frees the built-in entry, and decrements the
number of built-in entries, so that the rescan works as expected.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Fix some socket issues

multipath wasn't acutally using /org/kernel/linux/storage/multipathd
for its local socket because when it created and bound to that
socket, it didn't include the size of the structure in the length
it passed with the call.  The result was a trucnated name. Also,
mpathpersist wasn't updated to use the new socket name. This patch
fixes both.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Avoid race between ueventloop and uevqloop

ueventloop sets up uevq_lockp and uev_condp, which uevqloop uses.
If uevqloop accesses these structures before ueventloop has
initialized them, it will not wake up to process uevents. This patch
statically initializes these structures so they will always be
initialized. Also, since calling LIST_HEAD(uevq) initializes it,
there is no reason to call INIT_LIST_HEAD on it later.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Add existing multipath devices to wwids file on

When multipathd started up, it didn't add any existing devices to the
wwids file.  Because of this, devices that were always set up in the
initramfs were not counted as valid multipath devices, and checking
if one of their paths was a multipath path device gave the incorrect
answer.  This patch makes multipath add those devices when it does
its initial configuration on startup.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
add wwids file cleanup options

This patch adds the "-w <device>" and "-W" options to multipath. They
allow users to either remove a specified device from the wwids file, or
reset the wwids file to only include the wwids for their current
multipath devices.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>