On Fri, Feb 14, 2025 at 11:10:01PM +0100, Martin Wilck wrote: > This set is an attempt to fix https://github.com/opensvc/multipath-tools/issues/111 For all patches except for 08, which I have a question about: Reviewed-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx> > > 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