CP-6336: Removal of dm-multipath-conf

Migration of dm-multipath-conf.patch content from dm-multipath to sm
with basic conf file.
Previously we patched device-mapper-multipath to use a different
configuration file.

Those changes are now integrated into our own configuration file
that is installed using "update-alternatives" with a backup copy
if the original file is a regular file.

Signed-off-by: Germano Percossi <germano.percossi@citrix.com>
Reviewed-by: Vineeth Thampi Raveendran <vineeth.thampi@citrix.com>
[Robert Breker cherry picked and imported for CA-132062 from commit b0892d4]
Signed-off-by: Robert Breker <robert.breker@citrix.com>
CP-7343: Enable conversion for whitespaces

Enable CentOS 6.5 flag to fix problem with devices with padded IDs.
Use same name mangling as udev rules.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Reviewed-by: Chandrika Srinivasan <chandrika.srinivasan@citrix.com>

(cherry picked from commit ebf16b3)
Imported-by: Robert Breker <robert.breker@citrix.com>
CA-125486: Don't use commas in /etc/multipath.conf

The syntax of some of the custom entries in /etc/multipath.conf is wrong. It is
not valid to separate parameter declarations using commas.

The DM multipath parser misreads and does not apply the erroneous custom
configuration entries.

Signed-off-by: Robert Breker <robert.breker@citrix.com>
Acked-by: Germano Percossi <germano.percossi@citrix.com>

(cherry picked from commit cede3cc)
Imported-by: Robert Breker <robert.breker@citrix.com>
CP-8203: Add multipath.conf entry for EQLOGIC

Signed-off-by: Robert Breker <robert.breker@citrix.com>

(cherry picked from commit 3455114)
Imported-by: Robert Breker <robert.breker@citrix.com>
CA-125717: Reinstate default dev_loss_tmo in /etc/multipath.conf

Since implementing CA-108915 we need to specify dev_loss_tmo in
/etc/multipath.conf to properly handle lost devices.
It seems that the setting accidentaly got lost when porting the configuration
file from guest-packages.hg to dm-multipath.git. This commit reinstates the
dev_loss_tmo setting that we had before.

Why we need dev_loss_tmo:
   The way in which explicit path mapping is currently implemented requires
   dev_loss_tmo to be a finite value as close to 0 as possible.

   This is because multipathd will only monitor devices that are:
     a) accessible (scsi_id works) when a new map is initially added
     b) devices that appear after new map is added.
   In case of  dev_loss_tmo infinity, it is far more likely that devices
   linger around, are not accessible when a map is initially added (violate a),
   and multipathd does not receive an event for when they become accessible
   (like when they newly appear in case b). This leads to cases in which a
   SRs are backed by less paths then available.

   The use of dev_loss_tmo 30 generally minimises this problem.

Signed-off-by: Robert Breker <robert.breker@citrix.com>

(cherry picked from commit 4670646)
Imported-by: Robert Breker <robert.breker@citrix.com>
CA-125717: Make NETAPP LUN.* default to dev_loss_tmo 30 as a workaround

As the inbox device specific entry specifies dev_loss_tmo infinity, we need to
customise it in multipath.conf until we overcome the limitations when combining
explicit path mapping with larger values for dev_loss_tmo as outlined in
CA-135899.

Signed-off-by: Robert Breker <robert.breker@citrix.com>

(cherry picked from commit f386c21)
Imported-by: Robert Breker <robert.breker@citrix.com>
Order device specific entries in multipath.conf alphabetically

No functional change.

Signed-off-by: Robert Breker <robert.breker@citrix.com>

(cherry picked from commit 154fae0)
Imported-by: Robert Breker <robert.breker@citrix.com>
Improve the comments in multipath.conf to better guide users

No functional change.

Signed-off-by: Robert Breker <robert.breker@citrix.com>

(cherry picked from commit 214c82f)
Imported-by: Robert Breker <robert.breker@citrix.com>
Merge commits to ship multipath.conf in sm plus other improvements

Signed-off-by: Germano Percossi <germano.percossi@citrix.com>

GitHub: closes #154 on xapi-project/sm