[dm-devel] [RFC Patch 0/3] multipath: new path validation library
Benjamin Marzinski
bmarzins at redhat.com
Tue Mar 31 02:00:52 UTC 2020
This patchset is for a new library that programs can use to determine
if a device belongs to multipath. The primary user that this is
intended for is SID, the Storage Instantiation Daemon
https://github.com/sid-project
Right now, this doesn't change our existing code to determine path
ownership, and it doesn't do the exact same steps, although it is very
close. In the future, it would be possible to pull most of this code
entirely into libmultipath, except for some wrappers, and use it for
both methods. Obviously, this still needs man pages, and there are some
helper functions for things like controlling multipath's logging that
are missing, but I want to see if anyone has strong feelings about what
this looks like.
I also have two more changes that I want to make to the multipath code,
to make path validation do less unnecessary work, which aren't in this
patchset.
1. I want to remove the lock file from the failed wwids code. I don't
see how it actually stops any races, and it means that simply reading
a file, can trigger delays and writes (albeit to a memory base fs).
2. I want to deprecate getuid_callout. Once this is gone, you will be
able to call pathinfo and get a path's WWID, without ever needing to
open the path.
Benjamin Marzinski (3):
libmultipath: make libmp_dm_init optional
libmultipath: make sysfs_is_multipathed able to return wwid
multipath: add libmpathvalid library
Makefile | 1 +
Makefile.inc | 1 +
libmpathvalid/Makefile | 38 +++++++
libmpathvalid/libmpathvalid.version | 6 +
libmpathvalid/mpath_valid.c | 171 ++++++++++++++++++++++++++++
libmpathvalid/mpath_valid.h | 53 +++++++++
libmultipath/Makefile | 1 +
libmultipath/devmapper.c | 66 ++++++++++-
libmultipath/devmapper.h | 4 +-
libmultipath/sysfs.c | 22 +++-
libmultipath/sysfs.h | 2 +-
multipath/main.c | 7 +-
12 files changed, 360 insertions(+), 12 deletions(-)
create mode 100644 libmpathvalid/Makefile
create mode 100644 libmpathvalid/libmpathvalid.version
create mode 100644 libmpathvalid/mpath_valid.c
create mode 100644 libmpathvalid/mpath_valid.h
--
2.17.2
More information about the dm-devel
mailing list