The first three patches fix issues with multipathd's persistent reservation handling. As long as mpathpersist is run on a multipath device while multipathd is montioring it, everything works fine. But if new paths to that device appear or first become active while multipathd isn't running or the multipath device doesn't exist, multipathd might not register keys to those paths when it starts up or adds the multipath device. These patches also fix an issue where, if there are no active paths for multipathd to use for checking registered keys on device creation, it will treat the device as if there are no registered keys. The other three patches fix issues I found while looking into the persistent reservation problems. Benjamin Marzinski (6): multipathd: make pr registration consistent libmultipath: make prflag an enum multipathd: handle no active paths in update_map_pr multipathd: add missing newline to cli_del_map reply libmultipath: skip extra vector work in remove_maps libmultipath: orphan paths if coalesce_paths frees newmp libmpathpersist/mpath_persist_int.c | 10 ++++- libmultipath/configure.c | 7 +++- libmultipath/structs.h | 9 ++++- libmultipath/structs_vec.c | 6 +-- multipathd/cli_handlers.c | 20 +++++----- multipathd/main.c | 60 ++++++++++++++++++++--------- 6 files changed, 77 insertions(+), 35 deletions(-) -- 2.17.2 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/dm-devel