[PATCH 1/2] multipath: don't start multipathd unnecessarily

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



When multipathd is off, but systemd is monitoring the multipathd socket,
mpath_connect() has the side effect of starting multipathd. That's
superfluous if we aren't going to pass the command at hand to multipathd.
So, only try to open the socket if the command at hand is a candidate
for delegation.

Note: Despite this, some day in the future, we may decide to delegate
almost everything to multipathd.

Fixes: 506d253b "multipath: delegate dangerous commands to multipathd"
Signed-off-by: Martin Wilck <mwilck@xxxxxxxx>
---
 multipath/main.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/multipath/main.c b/multipath/main.c
index ed4f40ef..a0f3bde0 100644
--- a/multipath/main.c
+++ b/multipath/main.c
@@ -803,10 +803,6 @@ int delegate_to_multipathd(enum mpath_cmds cmd, const char *dev,
 	char command[1024], *p, *reply = NULL;
 	int n, r = 0;
 
-	fd = mpath_connect();
-	if (fd == -1)
-		return 0;
-
 	p = command;
 	*p = '\0';
 	n = sizeof(command);
@@ -819,7 +815,12 @@ int delegate_to_multipathd(enum mpath_cmds cmd, const char *dev,
 	if (strlen(command) == 0)
 		/* No command found, no need to delegate */
 		return 0;
-	else if (p >= command + sizeof(command)) {
+
+	fd = mpath_connect();
+	if (fd == -1)
+		return 0;
+
+	if (p >= command + sizeof(command)) {
 		condlog(0, "internal error - command buffer overflow");
 		r = -1;
 		goto out;
-- 
2.17.1

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel



[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux