We've had reports that mpathpersist doesn't scale well in environments with lots of IO devices. This patch set tries to address this problem with a few optimizations: - instead of doing a full path discovery at startup, only look at paths that are part of the maps being worked on - allow multiple PR commands in a single run using "batch files", without re-discovering everything between PR commands - avoid looking at priorities I've done some basic testing and it seems to work. It remains to be seen what the effect on performance really is. Regards Martin Martin Wilck (7): mpathpersist: call usage() just once on return mpathpersist: add option --batch-file (-f) mpathpersist: no need to treat error close() as fatal libmpathpersist: updatepaths: deal with missing pp->udev libmpathpersist: factor out initialization and teardown mpathpersist: initialize data structures only once libmpathpersist: don't bother with priorities libmpathpersist/mpath_persist.c | 250 +++++++++++++++----------------- libmpathpersist/mpath_persist.h | 40 +++++ mpathpersist/main.c | 218 +++++++++++++++++++++------- mpathpersist/main.h | 1 + 4 files changed, 320 insertions(+), 189 deletions(-) -- 2.21.0 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel