When users rapidly add and remove paths, it's possible for multipathd to delay updating the multipath device, and when if finally calls update_map(), find out that no paths remain for the device. When this happens, multipathd should act just like all the paths had been removed, attempting to remove the device, while respecting the flush_on_last_del and deferred_remove settings. Instead multipathd was simply reloading the map with no paths. This patchset fixes this.
Benjamin Marzinski (3): multipathd: factor out the code to flush a map with no paths libmultipath: return success if we raced to remove a map and lost multipathd: Handle losing all path in update_map libmultipath/devmapper.c | 4 +++ multipathd/main.c | 64 +++++++++++++++++++++------------------- 2 files changed, 37 insertions(+), 31 deletions(-) -- 2.17.2 -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel