From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Benjamin Marzinski Date: Thu, 6 Mar 2025 18:52:02 -0500 Subject: [PATCH] multipathd: Add multipathd man page section about sockets Add a section with information about how to communicate with the multipathd daemon to the man page. Also mention that multipathd commands can be run directly from the command line. Signed-off-by: Benjamin Marzinski --- multipathd/multipathd.8 | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/multipathd/multipathd.8 b/multipathd/multipathd.8 index d834f89e..d3aa7a73 100644 --- a/multipathd/multipathd.8 +++ b/multipathd/multipathd.8 @@ -68,6 +68,18 @@ bindings file. If a \fIuser_friendly_name\fR doesn't already exist for a device, will use its WWID as its alias. . .TP +.B \-k\fIcommand\fB +multipathd executes the given command (see \fBCOMMANDS\fR below). If the +command contains whitespace or shell special characters, it needs to be quoted +like in \fImultipathd -k'show topology'\fR. No whitespace is allowed between +the \fB-k\fR and the command string. + +Commands can also be issued without using \fB-k\fR. In this case, the command +string should not be quoted. Command arguments that contain whitespace or +special characters still need to be quoted, like in \fImultipathd show paths +format "%n %w"\fR +. +.TP .B \-k multipathd will enter interactive mode. From this mode, the available commands can be viewed by entering '\fIhelp\fR'. When you are finished entering commands, press @@ -87,6 +99,33 @@ multipath devices on dmevents. Use this flag to force it to use the old event waiting method, based on creating a seperate thread for each device. . . +.\" ---------------------------------------------------------------------------- +.SH COMMUNICATING WITH MULTIPATHD +.\" ---------------------------------------------------------------------------- + +In addition to the multipathd CLI, the \fBlibmpathcmd\fR library can be used to +send commands (see \fBCOMMANDS\fR below) to the multipathd daemon from other +programs. By default, multipathd listens on both the +\fI@/org/kernel/linux/storage/multipathd\fR abstract namespace socket and the +\fI/run/multipathd.socket\fR socket file. libmpathcmd will use either of these +sockets to connect to multipathd. The socket file can be useful to communicate +with multipathd from different namespaces since it can be bind mounted in them, +unlike the abstract namespace socket. Multipathd will accept \fBlist|show\fR +commands from any user. All other commands must be issued by root. + +It is possible to change the sockets that multipathd listens on. If +\fImultipathd.socket\fR is running, multipathd will use the sockets it listens +on. A maximum of two sockets can be defined by \fImultipathd.socket\fR, and by +default it listens on \fI@/org/kernel/linux/storage/multipathd\fR and +\fI/run/multipathd.socket\fR. If \fImultipathd.socket\fR is not running, a +single socket can be configured for listening on by setting the +\fIMULTIPATH_SOCKET_NAME\fR environment variable when starting multipathd. This +environment variable must also be set to make multipathd CLI commands (or any +other program using libmpathcmd) connect to the multipathd daemon using a +non-default socket, regardless of whether that socket was set for the daemon +using \fImultipathd.socket\fR or the \fIMULTIPATH_SOCKET_NAME\fR environment +variable. +. . .\" ---------------------------------------------------------------------------- .SH COMMANDS