This set is an attempt to fix https://github.com/opensvc/multipath-tools/issues/111 Changes v2 -> v3: Many, as a result of further discussions on GitHub. multipathd will now open both the abstract socket and the pathname socket /run/multipathd.socket by default, and client programs will try both sockets before giving up. The "use_regular_socket=1" build parameter is not necessary any more. Note that we'd switched from the regular socket "/var/run/multipath.sock" to an abstract socket in bb89077 ("multipathd: switch to abstract sockets for CLI commands") in multipath-tools 0.5.0. The rationale back then was that creating a pathname socket might fail if the directory structure isn't set up yet. As we now create both, and fail only if neither could be created, and as there is the early /run directory on modern systems, this argument shouldn't apply to this patch set. The name of the socket has been changed in order to indicate that the new approach is different from the old one. Changes v1 -> v2: - Introduced the mpath_fill_sockaddr() helper to cleanup struct sockaddr_un handling, in response to comments from Ben Marzinski on GitHub. - Fixed double remove of multipathd.socket during "make clean" (Ben). Martin Wilck (10): multipath-tools: move DEFAULT_SOCKET definition into Makefile.inc multipath-tools: add helper mpath_fill_sockaddr__() libmpathutil: add support for Unix pathname sockets libmpathutil: move systemd_listen_fds() support into multipathd multipathd: make uxsock_listen() take a pointer to fd multipathd: allow receiving two socket fds from systemd multipathd: listen on pathname and abstract socket by default libmpathcmd: try both abstract and pathname sockets libmpathcmd: honor MULTIPATH_SOCKET_NAME environment variable multipathd: honor MULTIPATH_SOCKET_NAME environment variable .gitignore | 1 + Makefile.inc | 10 +++- create-config.mk | 1 + libmpathcmd/mpath_cmd.c | 25 ++++++---- libmpathcmd/mpath_cmd.h | 1 - libmpathcmd/mpath_fill_sockaddr.c | 32 +++++++++++++ libmpathutil/uxsock.c | 41 +++++++--------- libmultipath/defaults.h | 1 - multipathd/Makefile | 4 +- multipathd/main.c | 48 +++++++++++++++++-- ...multipathd.socket => multipathd.socket.in} | 3 +- multipathd/uxlsnr.c | 34 +++++++++---- multipathd/uxlsnr.h | 3 +- 13 files changed, 149 insertions(+), 55 deletions(-) create mode 100644 libmpathcmd/mpath_fill_sockaddr.c rename multipathd/{multipathd.socket => multipathd.socket.in} (84%) -- 2.48.1