multipath-tools/.git
3 years agomultipath-tools: replace pthread_yield with sched_yield
Xose Vazquez Perez [Thu, 20 Oct 2016 23:16:20 +0000 (01:16 +0200)]
multipath-tools: replace pthread_yield with sched_yield

pthread_yield is not standard.
It was added in 6e14b7b

Please review.

Patch from Alpine Linux: http://git.alpinelinux.org/cgit/aports/plain/main/multipath-tools/fix-yield.patch

Cc: Natanael Copa <ncopa@alpinelinux.org>
Cc: Leonardo Arena <rnalrd@alpinelinux.org>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: add Infortrend arrays to hwtable
Xose Vazquez Perez [Thu, 20 Oct 2016 16:52:57 +0000 (18:52 +0200)]
multipath-tools: add Infortrend arrays to hwtable

Based on info from manufacturer:
http://infortrend.com/ImageLoader/LoadDoc/385/True/True

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: DF arrays were sold also under HP mark
Xose Vazquez Perez [Thu, 20 Oct 2016 13:21:41 +0000 (15:21 +0200)]
multipath-tools: DF arrays were sold also under HP mark

Cc: Matthias Rudolph <matthias.rudolph@hds.com>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: add Promise arrays to hwtable
Xose Vazquez Perez [Wed, 19 Oct 2016 22:43:40 +0000 (00:43 +0200)]
multipath-tools: add Promise arrays to hwtable

and blacklist "VTrak V-LUN" also for ALUA.

Based on info from manufacturer:
https://downloadmirror.intel.com/18617/eng/RHEL6_MPIO_Setup.pdf
http://www.promise.com/media_bank/Download%20Bank/Utility/SUG_v0.85.pdf

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: add DDN and rebranded arrays to hwtable
Xose Vazquez Perez [Wed, 19 Oct 2016 21:55:31 +0000 (23:55 +0200)]
multipath-tools: add DDN and rebranded arrays to hwtable

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: replace static and define default values for config options
Xose Vazquez Perez [Wed, 19 Oct 2016 18:16:17 +0000 (20:16 +0200)]
multipath-tools: replace static and define default values for config options

Replace "const" by PRIO_CONST.
Replace static force_sync and partition_delim values, and define
DEFAULT_FORCE_SYNC and DEFAULT_PARTITION_DELIM

Cc: Benjamin Marzinski <bmarzins@redhat.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: integrate Changelog file in README and update it
Xose Vazquez Perez [Tue, 18 Oct 2016 23:34:22 +0000 (01:34 +0200)]
multipath-tools: integrate Changelog file in README and update it

and httpS for everyone.

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: space \ at Makefile.inc
Xose Vazquez Perez [Tue, 18 Oct 2016 22:49:41 +0000 (00:49 +0200)]
multipath-tools: space \ at Makefile.inc

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: replace hardcoded USER_FRIENDLY_NAMES_OFF by default
Xose Vazquez Perez [Tue, 18 Oct 2016 13:22:45 +0000 (15:22 +0200)]
multipath-tools: replace hardcoded USER_FRIENDLY_NAMES_OFF by default

Cc: Benjamin Marzinski <bmarzins@redhat.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: replace IO by I/O in multipath.conf.5
Xose Vazquez Perez [Mon, 17 Oct 2016 21:29:32 +0000 (23:29 +0200)]
multipath-tools: replace IO by I/O in multipath.conf.5

to be consistent with the rest of the text.

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: clarify no_path_retry in multipath.conf.5
Xose Vazquez Perez [Mon, 17 Oct 2016 21:18:15 +0000 (23:18 +0200)]
multipath-tools: clarify no_path_retry in multipath.conf.5

no_path_retry    Specify what to do when all paths are down. Possible values are:

    value > 0   number of retries until disable I/O queueing.

    fail        for immediate failure (no I/O queueing).

    queue       for never stop I/O queueing. Similar to queue_if_no_path.

    See KNOWN ISSUES.

    Default value is: fail

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: fix DEFAULT values
Xose Vazquez Perez [Mon, 17 Oct 2016 16:32:28 +0000 (18:32 +0200)]
multipath-tools: fix DEFAULT values

replace RR_WEIGHT_NONE with DEFAULT_RR_WEIGHT, and define DEFAULT_FLUSH

Cc: Benjamin Marzinski <bmarzins@redhat.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: replace static value with default_variable for flush_on_last_del
Xose Vazquez Perez [Mon, 17 Oct 2016 17:09:49 +0000 (19:09 +0200)]
multipath-tools: replace static value with default_variable for flush_on_last_del

Cc: Benjamin Marzinski <bmarzins@redhat.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipathd/main.c: delete redundant judgment before LOG_MSG()
li.minghui [Tue, 18 Oct 2016 09:11:45 +0000 (17:11 +0800)]
multipathd/main.c: delete redundant judgment before LOG_MSG()

Problem:the LOG_MSG() doesn't note the path info "path offline" when the
path is in offline with the pp->offline = 1.

Reasons:There is no need to judge the strlen(b) again before calling
LOG_MSG(a, b) because there exists the judgmnet of strlen(b) in
defination of LOG_MSG(a,b).

3 years agoaccess vecs memory outside of locking range in check_path()
tang.junhui [Tue, 18 Oct 2016 02:51:08 +0000 (10:51 +0800)]
access vecs memory outside of locking range in check_path()

there are vecs->mpvec memory accesses outside of locking range in
check_path(), the judgments is not necessary since the they has
existed in vector_foreach_slot(), so delete them.

Signed-off-by: tang.junhui <tang.junhui@zte.com.cn>
3 years agosegment faulty occured in dm_get_status()
tang.junhui [Tue, 18 Oct 2016 02:51:07 +0000 (10:51 +0800)]
segment faulty occured in dm_get_status()

Signed-off-by: tang.junhui <tang.junhui@zte.com.cn>
segment faulty occured in dm_get_status(), the call trace is:
----------------------------------------------------------------------
(gdb) bt
0  0x000000338ec328a5 in raise () from /lib64/libc.so.6
1  0x000000338ec3400d in abort () from /lib64/libc.so.6
2  0x000000000040596d in sigsegv ()
3  <signal handler called>
4  0x000000338ec480ac in vfprintf () from /lib64/libc.so.6
5  0x000000338ec6f9d2 in vsnprintf () from /lib64/libc.so.6
6  0x000000338ec4f4a3 in snprintf () from /lib64/libc.so.6
7  0x00007f43fe66bbb9 in dm_get_status (name=0x7f43f0001eb0 "spathe",
outstatus=<value optimized out>) at devmapper.c:521
8  0x00007f43fe68c058 in update_multipath_status (mpp=0x7f43f000ad60,
pathvec=<value optimized out>) at structs_vec.c:465
9  update_multipath_strings (mpp=0x7f43f000ad60, pathvec=<value optimized
out>) at structs_vec.c:495
10 0x0000000000409056 in check_path ()
11 0x0000000000409c7e in checkerloop ()
12 0x0000003b27207851 in start_thread () from /lib64/libpthread.so.0
13 0x000000338ece890d in clone () from /lib64/libc.so.6
-----------------------------------------------------------------------
we debuged the code, and found that targets information storing in the
list dmt->head which fetching from kernel by executing dm_task_run()
is null.
-----------------------------------------------------------------------
rbx            0x7f43c4000d60   139929027874144
(gdb) p *(struct dm_task *)0x7f43c4000d60
$3 = {type = 10, dev_name = 0x7f43c4000d40 "spathe", head = 0x0, tail =
0x0, read_only = 0, event_nr = 0, major = -1, minor = -1,
  allow_default_major_fallback = 1, uid = 0, gid = 0, mode = 384,
  read_ahead = 4294967295, read_ahead_flags = 0, dmi = {
      v4 = 0x7f43c40011e0, v1 = 0x7f43c40011e0}, newname = 0x0, message =
      0x0, geometry = 0x0, sector = 0, no_flush = 0,
        no_open_count = 1, skip_lockfs = 0, query_inactive_table = 0,
suppress_identical_reload = 0, existing_table_size = 0,
  cookie_set = 0, uuid = 0x0}
-----------------------------------------------------------------------
since status is not initioned to null, so after calling
dm_get_next_target(dmt, next, &start, &length,&target_type,
&status),status becaming wild pointer, which lead snprintf() into the
situation of segment faulty.

3 years agomultipath-tools: release lock on handler failure
Michael Wang [Wed, 12 Oct 2016 08:54:05 +0000 (10:54 +0200)]
multipath-tools: release lock on handler failure

Inside parse_cmd() the pthread_cleanup_pop() rely on '!r' as the
indicator of locked or not, while this will be overwritten if the
handler return failed, and the unlock will be missing.

This will lead into the situation that all the following operation
will trying to hold a lock which will never be released.

This patch using a separate flag to record the status of locking to
make sure the unlock and lock are in pairs.

Signed-off-by: Michael Wang <yun.wang@profitbricks.com>
3 years agomultipath-tools: merge dcssblk in similar blacklist regex
Xose Vazquez Perez [Sun, 16 Oct 2016 13:59:46 +0000 (15:59 +0200)]
multipath-tools: merge dcssblk in similar blacklist regex

Similar patterns.

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: use internal drd.h file
Xose Vazquez Perez [Sat, 8 Oct 2016 20:22:12 +0000 (22:22 +0200)]
multipath-tools: use internal drd.h file

Cc: Bart Van Assche <bart.vanassche@sandisk.com>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agorbd: use lock_on_read if set
Mike Christie [Tue, 11 Oct 2016 21:36:55 +0000 (16:36 -0500)]
rbd: use lock_on_read if set

If lock_on_read is set initially, pass it as a map option
when remapping the image.

Signed-off-by: Mike Christie <mchristi@redhat.com>
3 years agorbd: fixup log messages
Mike Christie [Tue, 11 Oct 2016 21:36:54 +0000 (16:36 -0500)]
rbd: fixup log messages

Add rbd device prefix to condlog messages that was missing it, and drop
it in RBD_MSG because it is already added by caller.

Signed-off-by: Mike Christie <mchristi@redhat.com>
3 years agorbd: check for exclusive lock enabled
Mike Christie [Tue, 11 Oct 2016 21:36:53 +0000 (16:36 -0500)]
rbd: check for exclusive lock enabled

Only attach the checker if the rbd image has the exclusive lock
enabled.

Signed-off-by: Mike Christie <mchristi@redhat.com>
3 years agorbd: check for nonshared clients
Mike Christie [Tue, 11 Oct 2016 21:36:52 +0000 (16:36 -0500)]
rbd: check for nonshared clients

The rbd checker only supports nonshared clients so add a check
during init time.

Signed-off-by: Mike Christie <mchristi@redhat.com>
3 years agorbd: fix sync repair support
Mike Christie [Tue, 11 Oct 2016 21:36:51 +0000 (16:36 -0500)]
rbd: fix sync repair support

If sync was set we were calling check instead
of function passed in.

Signed-off-by: Mike Christie <mchristi@redhat.com>
3 years agomultipath-tools: add VIOLIN arrays to hardware table
Xose Vazquez Perez [Sat, 15 Oct 2016 11:50:23 +0000 (13:50 +0200)]
multipath-tools: add VIOLIN arrays to hardware table

Based on documentation provided by the manufacturer:
https://drive.google.com/open?id=0B_B6YmEmO7cDQlMzc1BsaUxZRVU

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: add missing hardware handler to ALUA devices
Xose Vazquez Perez [Fri, 14 Oct 2016 16:44:59 +0000 (18:44 +0200)]
multipath-tools: add missing hardware handler to ALUA devices

Nimble/Server and TEGILE/(ZEBI-(FC|ISCSI)|INTELLIFLASH)

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: add Xiotech ISE arrays to hwtable
Xose Vazquez Perez [Wed, 12 Oct 2016 16:06:37 +0000 (18:06 +0200)]
multipath-tools: add Xiotech ISE arrays to hwtable

Based on documentation provided by the manufacturer:
https://drive.google.com/file/d/0B_B6YmEmO7cDc201a3ZlcmFvUmM

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipathd: Avoid that a deadlock is triggered sporadically during shutdown
Bart Van Assche [Fri, 14 Oct 2016 15:35:47 +0000 (08:35 -0700)]
multipathd: Avoid that a deadlock is triggered sporadically during shutdown

pthread_cond_wait() is a thread cancellation point. If a thread that
is waiting in pthread_cond_wait() is canceled it is possible that the
mutex is re-acquired before the first cancellation cleanup handler
is called. In this case the cleanup handler is uevq_stop() and that
function locks uevq_lock. Avoid that calling uevq_stop() results in
a deadlock due to an attempt to lock a non-recursive mutex recursively.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
3 years agomultipathd: Avoid "socket operation on non-socket" errors
Bart Van Assche [Fri, 14 Oct 2016 15:34:26 +0000 (08:34 -0700)]
multipathd: Avoid "socket operation on non-socket" errors

Changing write_all() into write() is safe for files since the
POSIX standard guarantees that write() writes the entire buffer
except if the disk is full, a resource limit is encountered or
if interrupted by a signal. See also
http://pubs.opengroup.org/onlinepubs/9699919799/functions/write.html.

Fixes: commit 810082e7a8cf ("libmultipath, multipathd: Rework SIGPIPE handling")
Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
3 years agomultipathd: fail path when path check timeout
tang.junhui [Wed, 10 Aug 2016 08:10:38 +0000 (16:10 +0800)]
multipathd: fail path when path check timeout

path should be failed when path status is PATH_TIMEOUT after check,
otherwise, the valid number of paths in the map would be increased when
the path status is PATH_UP after the next turn check, which would cause
the valid number of paths exceeding the total number of paths in the map.

Signed-off-by: tang.junhui <tang.junhui@zte.com.cn>
3 years agomultipathd: uxsock_timeout should be assigned by conf->uxsock_timeout
tang.junhui [Tue, 13 Sep 2016 10:08:49 +0000 (18:08 +0800)]
multipathd: uxsock_timeout should be assigned by conf->uxsock_timeout

uxsock_timeout should be assigned by conf->uxsock_timeout
before using it in uxclnt() as a CLI client timeout value,
otherwise its default value is 0, and the CLI client timeout
value is 0 + 100(ms), so the CLI client will be timeout very
quickly.

Signed-off-by: tang.junhui <tang.junhui@zte.com.cn>
3 years agompathpersist: memset length is wrong
tang.junhui [Wed, 21 Sep 2016 08:44:46 +0000 (16:44 +0800)]
mpathpersist: memset length is wrong

variable transportids is cleared by memset() with wrong length MPATH_MX_TIDS,
the length should be MPATH_MX_TIDS*sizeof(struct transportid).

Signed-off-by: tang.junhui <tang.junhui@zte.com.cn>
3 years agomultipath-tools: add NexGen arrays to hwtable
Xose Vazquez Perez [Fri, 7 Oct 2016 14:01:18 +0000 (16:01 +0200)]
multipath-tools: add NexGen arrays to hwtable

Based on info provided by the manufacturer.

Cc: Brian Auld <bauld@pivot3.com>
Cc: Bart Brooks <bbrooks@pivot3.com>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: add Nexsan E-Series and SATABeast/SATABoy to hwtable
Xose Vazquez Perez [Sat, 8 Oct 2016 20:58:07 +0000 (22:58 +0200)]
multipath-tools: add Nexsan E-Series and SATABeast/SATABoy to hwtable

Based on documentation provided by the manufacturer:
http://support2.imation.com/downloads/nxs/crmkb5/Nexsan_Multipathing_Best_Practices_Guide.pdf

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: add IBM/FlashSystem to hwtable
Xose Vazquez Perez [Fri, 7 Oct 2016 13:15:22 +0000 (15:15 +0200)]
multipath-tools: add IBM/FlashSystem to hwtable

System          Vendor Product          Multipathing Policy
=============== ====== ================ =======================
FlashSystem 710 IBM    FlashSystem      Symmetric Active/Active
FlashSystem 720 IBM    FlashSystem      Symmetric Active/Active
FlashSystem 810 IBM    FlashSystem      Symmetric Active/Active
FlashSystem 820 IBM    FlashSystem      Symmetric Active/Active
FlashSystem 840 IBM    FlashSystem-9840 Symmetric Active/Active
FlashSystem 900 IBM    FlashSystem-9840 Symmetric Active/Active

Based on documentation from the manufacturer:
http://www.redbooks.ibm.com/redbooks/pdfs/sg248271.pdf

Cc: Hannes Reinecke <hare@suse.de>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: add Tegile arrays to hwtable
Xose Vazquez Perez [Thu, 6 Oct 2016 23:13:36 +0000 (01:13 +0200)]
multipath-tools: add Tegile arrays to hwtable

Based on documentation provided by the manufacturer:
http://pages.tegile.com/rs/568-BVY-995/images/Oracle%20BPG%201.0.pdf

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: add Kaminario arrays to hwtable
Xose Vazquez Perez [Thu, 6 Oct 2016 22:36:55 +0000 (00:36 +0200)]
multipath-tools: add Kaminario arrays to hwtable

Based on a config provided by the manufacturer:
https://marc.info/?l=dm-devel&m=142683413902072

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: add Nimble arrays to hwtable
Xose Vazquez Perez [Thu, 6 Oct 2016 21:57:48 +0000 (23:57 +0200)]
multipath-tools: add Nimble arrays to hwtable

Based on documentation provided by the manufacturer:
http://www.nimblestorage.com/bpg_nimble_storage_linux_fibre_channel.pdf

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: add INFINIDAT arrays to hwtable
Xose Vazquez Perez [Thu, 6 Oct 2016 21:09:14 +0000 (23:09 +0200)]
multipath-tools: add INFINIDAT arrays to hwtable

Based on documentation provided by the manufacturer:
https://support.infinidat.com/hc/en-us/articles/202319222

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agolibmultipath/checkers/tur: Fix a recently introduced deadlock
Bart Van Assche [Mon, 10 Oct 2016 23:12:28 +0000 (16:12 -0700)]
libmultipath/checkers/tur: Fix a recently introduced deadlock

Avoid that the tur_devt() call from libcheck_check() hangs.

Fixes: commit 873be9fef222 ("libmultipath/checkers/tur: Serialize tur_checker_context.devt accesses")
Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
3 years agomultipath-tools: add FUJITSU/ETERNUS 2000/4000/8000 to hwtable
Xose Vazquez Perez [Wed, 5 Oct 2016 21:12:52 +0000 (23:12 +0200)]
multipath-tools: add FUJITSU/ETERNUS 2000/4000/8000 to hwtable

Based on documentation provided by the manufacturer:
http://storage-system.fujitsu.com/global/manual/diskarray/pdf/p3am-3192-en.pdf

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: add HPE StoreVirtual 4000 family(LEFTHAND) to hwtable
Xose Vazquez Perez [Wed, 5 Oct 2016 21:00:14 +0000 (23:00 +0200)]
multipath-tools: add HPE StoreVirtual 4000 family(LEFTHAND) to hwtable

No official documentation, based on field-tested configuration:
https://www.citrix.com/blogs/2013/10/02/hp-p4000-multipath-config-file/
https://community.hpe.com/t5/HPE-StoreVirtual-Storage/StoreVirtual-4000-and-multipath-tools-Linux/m-p/6874775

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: add NetApp/SolidFir to hwtable
Xose Vazquez Perez [Wed, 5 Oct 2016 14:45:22 +0000 (16:45 +0200)]
multipath-tools: add NetApp/SolidFir to hwtable

Cc: PJ Waskiewicz <pj.waskiewicz@netapp.com>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agoFix the drd header location in the debug.c includes
Christophe Varoqui [Wed, 5 Oct 2016 06:45:07 +0000 (08:45 +0200)]
Fix the drd header location in the debug.c includes

3 years agoMakefile.inc: Enable -Wextra and -Wformat-nonliteral
Bart Van Assche [Tue, 4 Oct 2016 17:42:21 +0000 (10:42 -0700)]
Makefile.inc: Enable -Wextra and -Wformat-nonliteral

Instead of selecting some of the options enabled by -Wextra, enable
-Wextra and disable some of the options enabled by -Wextra. Enable
-Wformat-nonliteral.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
3 years agolibmultipath: Micro-optimize snprint_size()
Bart Van Assche [Tue, 4 Oct 2016 17:41:59 +0000 (10:41 -0700)]
libmultipath: Micro-optimize snprint_size()

Eliminate the stack array fmt[]. An interesting side effect of
this patch is that it makes it possible for the compiler to
verify whether the snprintf() arguments have a type that is
appropriate for the format string.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
3 years agolibmultipath/checkers/tur: Fix races on tur_checker_context.thread
Bart Van Assche [Tue, 4 Oct 2016 17:41:28 +0000 (10:41 -0700)]
libmultipath/checkers/tur: Fix races on tur_checker_context.thread

Avoid that pthread_cancel(ct->thread) can get called after the TUR
thread exited because this is not allowed for detached threads.
Avoid that data-race detection tools complain about reading ct->thread
without holding ct->hldr_lock.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
3 years agolibmultipath/checkers/tur: Serialize tur_checker_context.devt accesses
Bart Van Assche [Tue, 4 Oct 2016 17:41:11 +0000 (10:41 -0700)]
libmultipath/checkers/tur: Serialize tur_checker_context.devt accesses

Avoid that tur_checker_context.devt is accessed without holding
the tur_checker_context.lock mutex. This avoids that data race
detection tools complain about tur_checker_context.devt accesses.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
3 years agolibmultipath/checkers/tur: Protect tur_checker_context.message changes
Bart Van Assche [Tue, 4 Oct 2016 17:40:54 +0000 (10:40 -0700)]
libmultipath/checkers/tur: Protect tur_checker_context.message changes

Avoid that tur_checker_context.message is modified without holding
the tur_checker_context.lock mutex. This patch avoids that data
race detection tools like DRD complain about writing into
tur_checker_context.message.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
3 years agolibmultipath/checkers/tur: Move pthread_attr_destroy() call
Bart Van Assche [Tue, 4 Oct 2016 17:40:32 +0000 (10:40 -0700)]
libmultipath/checkers/tur: Move pthread_attr_destroy() call

Move the pthread_attr_destroy() call up such that this function
is also called if thread creation fails.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
3 years agolibmultipath/checkers/tur: Terminate a statement with a semicolon
Bart Van Assche [Tue, 4 Oct 2016 17:40:13 +0000 (10:40 -0700)]
libmultipath/checkers/tur: Terminate a statement with a semicolon

This patch does not affect any functionality but helps editors to
auto-indent the code below that statement correctly.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
3 years agolibmultipath/checkers/tur: Introduce strlcpy()
Bart Van Assche [Tue, 4 Oct 2016 17:39:53 +0000 (10:39 -0700)]
libmultipath/checkers/tur: Introduce strlcpy()

Change the strncpy() calls into strlcpy() calls instead of open-coding
strlcpy().

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
3 years agomultipathd: Fix a data race
Bart Van Assche [Tue, 4 Oct 2016 17:39:30 +0000 (10:39 -0700)]
multipathd: Fix a data race

Avoid that the path check interval initialization loop races with
other code that accesses the path vectors by executing that code
on the context of the main thread instead of the checker loop.
This patch avoids that DRD reports the following:

Conflicting store by thread 1 at 0x07f3f1f8 size 8
   at 0x40B50C: reconfigure (main.c:2014)
   by 0x40C2EC: child (main.c:2371)
   by 0x40CDA1: main (main.c:2609)
Address 0x7f3f1f8 is at offset 40 from 0x7f3f1d0. Allocation context:
   at 0x4C32995: calloc (in /usr/lib64/valgrind/vgpreload_drd-amd64-linux.so)
   by 0x5DDAC36: zalloc (memory.c:34)
   by 0x40B61A: init_vecs (main.c:2043)
   by 0x40BF01: child (main.c:2295)
   by 0x40CDA1: main (main.c:2609)

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
3 years agomultipathd: Suppress uninteresting data race reports
Bart Van Assche [Tue, 4 Oct 2016 17:39:09 +0000 (10:39 -0700)]
multipathd: Suppress uninteresting data race reports

The global variable multipath_conf is modified through RCU. Hence
avoid that the data race detection tools Helgrind and DRD report
data races for this variable.

The global variable running_state is read without holding the mutex
that protects changes of this variable. Suppress complaints about
these reads.

The global variable uxsock_timeout is not protected by any mutex.
Suppress complaints about using this variable.

Suppress complaints on reading conf->verbosity in dlog().

Add a copy of the necessary Valgrind header files to avoid that
valgrind-devel has to be installed to build the multipath-tools
software. These files have been obtained from
http://valgrind.org/downloads/valgrind-3.11.0.tar.bz2.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
3 years agomultipathd, libmultipathd: Make delays independent of clock jumps
Bart Van Assche [Tue, 4 Oct 2016 17:38:42 +0000 (10:38 -0700)]
multipathd, libmultipathd: Make delays independent of clock jumps

Time synchronization software like ntpd can adjust the clock
forwards and backwards. Avoid that the duration of a delay is
influenced by clock jumps initiated by time synchronization
software.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Cc: Mike Christie <mchristi@redhat.com>
3 years agolibmultipath/checkers/rbd: Declare local functions static
Bart Van Assche [Tue, 4 Oct 2016 17:38:15 +0000 (10:38 -0700)]
libmultipath/checkers/rbd: Declare local functions static

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Cc: Mike Christie <mchristi@redhat.com>
3 years agolibmultipath/checkers/tur: Declare local functions static
Bart Van Assche [Tue, 4 Oct 2016 17:37:50 +0000 (10:37 -0700)]
libmultipath/checkers/tur: Declare local functions static

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
3 years agolibmultipath/memory: Move an #include directive
Bart Van Assche [Tue, 4 Oct 2016 17:37:33 +0000 (10:37 -0700)]
libmultipath/memory: Move an #include directive

Minimize the number of #include directives in libmultipath/memory.h
by moving #include <assert.h> into libmultipath/memory.c.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
3 years agolibmultipath/prioritizers/ontap: Remove an unused #include directive
Bart Van Assche [Tue, 4 Oct 2016 17:36:59 +0000 (10:36 -0700)]
libmultipath/prioritizers/ontap: Remove an unused #include directive

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
3 years agomultipath-tools: add IBM/3552 (FAStT500) array
Xose Vazquez Perez [Tue, 4 Oct 2016 21:39:02 +0000 (23:39 +0200)]
multipath-tools: add IBM/3552 (FAStT500) array

Vendor doc: https://www.redbooks.ibm.com/redbooks/pdfs/sg246246.pdf
This also confirms that IBM/3542 (FAStT200) is really a RDAC device.
Both of them run the same firmware.

DS4200 tag is wrong.

Cc: Hannes Reinecke <hare@suse.de>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: remove pointless ".*" from devnode blacklists
Xose Vazquez Perez [Mon, 3 Oct 2016 15:53:20 +0000 (17:53 +0200)]
multipath-tools: remove pointless ".*" from devnode blacklists

".*" is useless at the end of a regex, and just "*" is a bug.
And document them.

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: merge emc and dell
Xose Vazquez Perez [Fri, 16 Sep 2016 17:37:20 +0000 (19:37 +0200)]
multipath-tools: merge emc and dell

There can be only one.

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: add Dell EMC Unity documentation
Xose Vazquez Perez [Fri, 16 Sep 2016 23:11:07 +0000 (01:11 +0200)]
multipath-tools: add Dell EMC Unity documentation

It's detected as DGC/VRAID

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: blacklist "Universal Xport" for IBM/3542
Xose Vazquez Perez [Mon, 3 Oct 2016 12:36:24 +0000 (14:36 +0200)]
multipath-tools: blacklist "Universal Xport" for IBM/3542

Cc: Hannes Reinecke <hare@suse.de>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years ago[libmultipath] Fix typo in hwtable
Christophe Varoqui [Mon, 3 Oct 2016 12:18:43 +0000 (14:18 +0200)]
[libmultipath] Fix typo in hwtable

s/MUTIBUS/MULTIBUS/

3 years ago[libmultipath] Don't use FAILBACK_UNDEF as a hwentry default
Christophe Varoqui [Mon, 3 Oct 2016 12:14:34 +0000 (14:14 +0200)]
[libmultipath] Don't use FAILBACK_UNDEF as a hwentry default

In the current code base, FAILBACK_UNDEF causes
need_switch_pathgroup() to refresh each path prio and mpp->bestpg,
and return to the caller it should switch pathgroup. But the caller
(check_path()) won't switch anyway.

FAILBACK_UNDEF never fails back automatically, like
FAILBACK_MANUAL, but causes unecessary work. So it should be used
as a hwentry default failback value.

3 years ago[libmultipath] Tweak defaults for some IBM hardware entries
Christophe Varoqui [Mon, 3 Oct 2016 12:03:48 +0000 (14:03 +0200)]
[libmultipath] Tweak defaults for some IBM hardware entries

Hannes confirmed:

* IBM 2105 is a fully symmetric array
=> switch pgpolicy to multibux

* IBM 3542 is a rdac family product
=> switch to rdac defaults

3 years agolibmultipath/checkers/{rbd,tur}: Fix pthread_cond_signal() calls
Bart Van Assche [Thu, 29 Sep 2016 21:28:27 +0000 (14:28 -0700)]
libmultipath/checkers/{rbd,tur}: Fix pthread_cond_signal() calls

Calling pthread_cond_signal() without holding the associated
mutex sporadically results in a lost wakeup. Hence call
pthread_cond_signal() while holding the mutex used by
pthread_cond_wait().

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Cc: Mike Christie <mchristi@redhat.com>
3 years agomultipath-tools: identify some IBM FlashSystem arrays
Xose Vazquez Perez [Fri, 19 Aug 2016 16:29:11 +0000 (18:29 +0200)]
multipath-tools: identify some IBM FlashSystem arrays

System             Vendor Product Multipathing Policy
================== ====== ======= ===================================================================
FlashSystem V840   IBM    2145    ALUA (1 Target Port Group per Controller)
FlashSystem V9000  IBM    2145    ALUA (1 Target Port Group per Controller)
FlashSystem A9000  IBM    2810XIV ALUA (All ports across all controllers in single Target Port Group)
FlashSystem A9000R IBM    2810XIV ALUA (All ports across all controllers in single Target Port Group)

Cc: Hannes Reinecke <hare@suse.de>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: replace queue_if_no_path with NO_PATH_RETRY_QUEUE
Xose Vazquez Perez [Thu, 18 Aug 2016 17:58:13 +0000 (19:58 +0200)]
multipath-tools: replace queue_if_no_path with NO_PATH_RETRY_QUEUE

Besides man page states: "If both values are specified the order
of precedence is no_path_retry, queue_if_no_path, dev_loss_tmo."

Thus remove queue_if_no_path where no_path_retry already was defined.

Cc: Hannes Reinecke <hare@suse.de>
Cc: Benjamin Marzinski <bmarzins@redhat.com>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: Add Dell SC name and maintainer
Sean McGinnis [Tue, 16 Aug 2016 14:08:39 +0000 (16:08 +0200)]
multipath-tools: Add Dell SC name and maintainer

Compellent Storage Center is now Dell SC Series storage. Added
contact name for maintenance.

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Sean McGinnis <sean_mcginnis@dell.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipathd: Change four threads from detached into joinable
Bart Van Assche [Thu, 18 Aug 2016 22:44:51 +0000 (15:44 -0700)]
multipathd: Change four threads from detached into joinable

Change the CLI listener, checker loop, uevent dispatcher and
uevent listener threads from detached into joinable threads.
This change is needed because calling pthread_join() is only
allowed for joinable threads.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Acked-by: dragan.stancevic@canonical.com
3 years agolibmultipath, rbd: Fix spelling in a source code comment
Bart Van Assche [Tue, 16 Aug 2016 20:02:52 +0000 (13:02 -0700)]
libmultipath, rbd: Fix spelling in a source code comment

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
3 years agolibmultipath, multipathd: Rework SIGPIPE handling
Bart Van Assche [Tue, 16 Aug 2016 20:08:03 +0000 (13:08 -0700)]
libmultipath, multipathd: Rework SIGPIPE handling

The behavior we want is as follows:
* If stdout or stderr is closed then SIGPIPE causes termination.
* Sending data to a socket that has been closed by the receiver
  does not cause multipathd to stop.

Hence unblock SIGPIPE and use MSG_NOSIGNAL when sending data over
a socket.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Cc: Benjamin Marzinski <bmarzins@redhat.com>
Cc: Gris Ge <fge@redhat.com>
3 years agoMakefile.inc: Remove -fexceptions from CFLAGS
Bart Van Assche [Tue, 16 Aug 2016 19:56:22 +0000 (12:56 -0700)]
Makefile.inc: Remove -fexceptions from CFLAGS

No code in the multipath-tools project calls a C++ function that
generates an exception. Hence remove -fexceptions. From the gcc
manual:

-fexceptions

  Enable exception handling. Generates extra code needed to
  propagate exceptions. For some targets, this implies GCC
  generates frame unwind information for all functions, which can
  produce significant data size overhead, although it does not
  affect execution. If you do not specify this option, GCC
  enables it by default for languages like C++ that normally
  require exception handling, and disables it for languages like
  C that do not normally require it. However, you may need to
  enable this option when compiling C code that needs to
  interoperate properly with exception handlers written in
  C++. You may also wish to disable this option if you are
  compiling older C++ programs that don't use exception handling.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
3 years agomultipath-tools: request to update man pages/TEMPLATE if "device subsection" keywords...
Xose Vazquez Perez [Sun, 28 Aug 2016 22:41:04 +0000 (00:41 +0200)]
multipath-tools: request to update man pages/TEMPLATE if "device subsection" keywords are changed

and s/keywork/keyword

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: Makefiles housekeeping
Xose Vazquez Perez [Sun, 28 Aug 2016 22:10:42 +0000 (00:10 +0200)]
multipath-tools: Makefiles housekeeping

replace mandir with man8dir and put KRNL variables in place.

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: replace LDFLAGS with LIBDEPS for groups of libraries in Makefiles
Xose Vazquez Perez [Tue, 16 Aug 2016 12:38:50 +0000 (14:38 +0200)]
multipath-tools: replace LDFLAGS with LIBDEPS for groups of libraries in Makefiles

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: add queue_mode to the features list in multipath/multipath.conf.5
Xose Vazquez Perez [Tue, 16 Aug 2016 12:38:53 +0000 (14:38 +0200)]
multipath-tools: add queue_mode to the features list in multipath/multipath.conf.5

New undocumented feature, added in e83068a5f:

    dm mpath: add optional "queue_mode" feature

    Allow a user to specify an optional feature 'queue_mode <mode>' where
    <mode> may be "bio", "rq" or "mq" -- which corresponds to bio-based,
    request_fn rq-based, and blk-mq rq-based respectively.

    If the queue_mode feature isn't specified the default for the
    "multipath" target is still "rq" but if dm_mod.use_blk_mq is set to Y
    it'll default to mode "mq".

    This new queue_mode feature introduces the ability for each multipath
    device to have its own queue_mode (whereas before this feature all
    multipath devices effectively had to have the same queue_mode).

Also add more info to other features.

Cc: Mike Snitzer <snitzer@redhat.com>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: delete .minio from hwtable
Xose Vazquez Perez [Tue, 16 Aug 2016 12:38:52 +0000 (14:38 +0200)]
multipath-tools: delete .minio from hwtable

It's useless, default path_selector is service-time.
And document some aspects of round-robin.

Cc: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Cc: Jun’ichi Nomura <j-nomura@ce.jp.nec.com>
Cc: Mike Christie <mchristi@redhat.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Benjamin Marzinski <bmarzins@redhat.com>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: replace queue-length by default selector
Xose Vazquez Perez [Tue, 16 Aug 2016 12:38:51 +0000 (14:38 +0200)]
multipath-tools: replace queue-length by default selector

service-time is more advanced, and it works better in asymmetric and
asymmetric environments.

Cc: Hannes Reinecke <hare@suse.de>
Cc: Benjamin Marzinski <bmarzins@redhat.com>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: document how to add devices that need special flags in the SCSI...
Xose Vazquez Perez [Tue, 16 Aug 2016 12:38:49 +0000 (14:38 +0200)]
multipath-tools: document how to add devices that need special flags in the SCSI subsystem

Full flags list at include/scsi/scsi_devinfo.h

Arrays controllers included currently:

 {"3PARdata", "VV", NULL, BLIST_REPORTLUN2},

 {"DEC", "HSG80", NULL, BLIST_REPORTLUN2 | BLIST_NOSTARTONADD},
 {"HP", "A6189A", NULL, BLIST_SPARSELUN | BLIST_LARGELUN},
 {"COMPAQ", "MSA1000", NULL, BLIST_SPARSELUN | BLIST_NOSTARTONADD},
 {"COMPAQ", "MSA1000 VOLUME", NULL, BLIST_SPARSELUN | BLIST_NOSTARTONADD},
 {"COMPAQ", "HSV110", NULL, BLIST_REPORTLUN2 | BLIST_NOSTARTONADD},
 {"HP", "HSV100", NULL, BLIST_REPORTLUN2 | BLIST_NOSTARTONADD},
 {"COMPAQ", "LOGICAL VOLUME", NULL, BLIST_FORCELUN | BLIST_MAX_512},

 {"DDN", "SAN DataDirector", "*", BLIST_SPARSELUN},

 {"DGC", "RAID", NULL, BLIST_SPARSELUN},
 {"DGC", "DISK", NULL, BLIST_SPARSELUN}, <-- mising VDISK ??
 {"EMC", "SYMMETRIX", NULL, BLIST_SPARSELUN | BLIST_LARGELUN | BLIST_FORCELUN},
 {"EMC",  "Invista", "*", BLIST_SPARSELUN | BLIST_LARGELUN},

 {"FSC", "CentricStor", "*", BLIST_SPARSELUN | BLIST_LARGELUN},

 {"HITACHI", "OPEN-", "*", BLIST_REPORTLUN2},
 {"HP", "OPEN-", "*", BLIST_REPORTLUN2},

 {"HITACHI", "DF400", "*", BLIST_REPORTLUN2},
 {"HITACHI", "DF500", "*", BLIST_REPORTLUN2},
 {"HP", "DF400", "*", BLIST_SPARSELUN | BLIST_LARGELUN},
 {"HP", "DF500", "*", BLIST_SPARSELUN | BLIST_LARGELUN},
 {"HP", "DF600", "*", BLIST_SPARSELUN | BLIST_LARGELUN}, <-- bug, also apply: 627511e3e

 {"IBM", "ProFibre 4000R", "*", BLIST_SPARSELUN | BLIST_LARGELUN},

 {"NETAPP", "LUN C-Mode", NULL, BLIST_SYNC_ALUA}, <-- ontap

 {"NETAPP", "INF-01-00", NULL, BLIST_SYNC_ALUA}, <-- rdac!!

 {"SGI", "TP9100", "*", BLIST_REPORTLUN2},

 {"Intel", "Multi-Flex", NULL, BLIST_NO_RSOC},

 {"SGI", "Universal Xport", "*", BLIST_NO_ULD_ATTACH},
 {"IBM", "Universal Xport", "*", BLIST_NO_ULD_ATTACH},
 {"SUN", "Universal Xport", "*", BLIST_NO_ULD_ATTACH},
 {"DELL", "Universal Xport", "*", BLIST_NO_ULD_ATTACH},

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: James E.J. Bottomley <jejb@linux.vnet.ibm.com>
Cc: Martin K. Petersen <martin.petersen@oracle.com>
Cc: SCSI ML <linux-scsi@vger.kernel.org>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: use "+=" instead of only "=" for variables in Makefile
Xose Vazquez Perez [Fri, 12 Aug 2016 17:45:01 +0000 (19:45 +0200)]
multipath-tools: use "+=" instead of only "=" for variables in Makefile

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: add missing group of options in Makefiles
Xose Vazquez Perez [Fri, 12 Aug 2016 17:12:07 +0000 (19:12 +0200)]
multipath-tools: add missing group of options in Makefiles

And remove "-g", it's already in OPTFLAG

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: identify all four LCSM100_ devices
Xose Vazquez Perez [Sat, 13 Aug 2016 16:27:46 +0000 (18:27 +0200)]
multipath-tools: identify all four LCSM100_ devices

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: add two rdac devices
Xose Vazquez Perez [Sat, 13 Aug 2016 16:05:01 +0000 (18:05 +0200)]
multipath-tools: add two rdac devices

Sun StorEdge 6130 and SGI TP9700.

They were include in the kernel rdac side, but never in mpt:
https://bugzilla.redhat.com/524335
https://marc.info/?l=dm-devel&m=130203604024614

Cc: Sean Stewart <Sean.Stewart@netapp.com>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agoBump version to 0.6.3 0.6.3
Christophe Varoqui [Tue, 16 Aug 2016 07:36:45 +0000 (09:36 +0200)]
Bump version to 0.6.3

3 years agomultipath-tools: modify product regex in HDS devices
Xose Vazquez Perez [Thu, 11 Aug 2016 18:33:38 +0000 (20:33 +0200)]
multipath-tools: modify product regex in HDS devices

regex for product="DF" is tooooo wide.
Also changed for VSP to "^OPEN-"

I asked Matthias before make this change.

Cc: Matthias Rudolph <Matthias.Rudolph@hds.com>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: move code up in Makefile
Xose Vazquez Perez [Thu, 11 Aug 2016 18:33:37 +0000 (20:33 +0200)]
multipath-tools: move code up in Makefile

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: delete failback from IBM/2810XIV
Xose Vazquez Perez [Thu, 11 Aug 2016 18:32:25 +0000 (20:32 +0200)]
multipath-tools: delete failback from IBM/2810XIV

nonsense with multibus as path_grouping_policy

Cc: Hannes Reinecke <hare@suse.de>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: add KOVE/XPD to hwtable
Xose Vazquez Perez [Thu, 11 Aug 2016 18:32:24 +0000 (20:32 +0200)]
multipath-tools: add KOVE/XPD to hwtable

Info provided directly by the manufacturer: http://kove.net/xpd

Cc: Nick Russo <nick.russo@kove.net>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: move DEFAULT_PRIO DEFAULT_PRIO_ARGS and DEFAULT_CHECKER to libmultip...
Xose Vazquez Perez [Thu, 11 Aug 2016 18:32:23 +0000 (20:32 +0200)]
multipath-tools: move DEFAULT_PRIO DEFAULT_PRIO_ARGS and DEFAULT_CHECKER to libmultipath/defaults.h

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: request to update man pages if the code is changed
Xose Vazquez Perez [Thu, 11 Aug 2016 18:32:22 +0000 (20:32 +0200)]
multipath-tools: request to update man pages if the code is changed

Please, document the changes.

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: delete IBM/1745 ghost array
Xose Vazquez Perez [Thu, 11 Aug 2016 18:32:21 +0000 (20:32 +0200)]
multipath-tools: delete IBM/1745 ghost array

There is no references nowhere.
Confirmed by the original manufacturer(NetApp), and Google shows no results.

Cc: Sean Stewart <Sean.Stewart@netapp.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: Edward Goggin no longer works at EMC
Xose Vazquez Perez [Thu, 11 Aug 2016 18:32:20 +0000 (20:32 +0200)]
multipath-tools: Edward Goggin no longer works at EMC

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: Makefiles housekeeping
Xose Vazquez Perez [Thu, 11 Aug 2016 18:32:19 +0000 (20:32 +0200)]
multipath-tools: Makefiles housekeeping

Apart of this relevant change in libmpathpersist/Makefile
-       $(CC) -Wall -fPIC -c $(CFLAGS) *.c
+       $(CC) -c $(CFLAGS) *.c

Mainly indent and order code.

Compiled tested, also installed and uninstalled.

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: minor edit of multipath/multipath.conf.5
Xose Vazquez Perez [Thu, 11 Aug 2016 18:32:18 +0000 (20:32 +0200)]
multipath-tools: minor edit of multipath/multipath.conf.5

Split long lines, and change a text from place.

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: document the relation between queue_if_no_path and no_path_retry
Xose Vazquez Perez [Wed, 10 Aug 2016 16:20:38 +0000 (18:20 +0200)]
multipath-tools: document the relation between queue_if_no_path and no_path_retry

Also mark queue_if_no_path as deprecated.

Cc: Hannes Reinecke <hare@suse.de>
Cc: Benjamin Marzinski <bmarzins@redhat.com>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: document vendor, product, revision and bl_product are POSIX Extended...
Xose Vazquez Perez [Wed, 10 Aug 2016 16:20:36 +0000 (18:20 +0200)]
multipath-tools: document vendor, product, revision and bl_product are POSIX Extended regex

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
3 years agomultipath-tools: remove patchwork reference
Xose Vazquez Perez [Wed, 10 Aug 2016 16:20:35 +0000 (18:20 +0200)]
multipath-tools: remove patchwork reference

It is only for kernel dm patches.

Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>