libmultipath: functions to indicate mapping failure in /dev/shm
authorMartin Wilck <mwilck@suse.com>
Fri, 13 Apr 2018 22:00:02 +0000 (00:00 +0200)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Fri, 11 May 2018 08:48:36 +0000 (10:48 +0200)
commit65d0a633e066223d361cd1a254ebdfe36a133a5c
tree9e72d3a5f7a2ebe3fafb8749bf1afb205e150560
parent956d48115dca39d11d6e4e1d401247f8de5a6f38
libmultipath: functions to indicate mapping failure in /dev/shm

Create a simple API that indicates failure to create a map for a
certain WWID. This will allow multipathd to indicate to other tools
(in particular, "multipath -u" during udev processing) that
an attempt to create a map for a certain wwid failed.

The indicator is simply the existence of a file under
/dev/shm/multipath/failed_wwids. This has been chosen because it
"survives" during pivot-root between initrd and root file system.

The exact semantics of /dev/shm/multipath/failed_wwids/$WWID is:
"multipath or multipathd has tried to create this map from its
members with a DM_DEVICE_CREATE call, and failed on the latest,
or only, attempt to do so".

In particular, the existence of the file proves that here was at
least one unsuccessful attempt to create the map since the last
reboot. On the contrary, the non-existence of this file does not
indicate a successful attempt - perhaps multipathd never tried to
set up the map.

Signed-off-by: Martin Wilck <mwilck@suse.com>
Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
libmultipath/defaults.h
libmultipath/wwids.c
libmultipath/wwids.h