From patchwork Fri Apr 13 22:00:05 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Wilck X-Patchwork-Id: 10340817 X-Patchwork-Delegate: christophe.varoqui@free.fr Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 4074360329 for ; Fri, 13 Apr 2018 22:01:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 30F0828A07 for ; Fri, 13 Apr 2018 22:01:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 25F9728A09; Fri, 13 Apr 2018 22:01:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00, MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id C17F328A07 for ; Fri, 13 Apr 2018 22:01:45 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F101830C00BB; Fri, 13 Apr 2018 22:01:44 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C8C775F7F3; Fri, 13 Apr 2018 22:01:44 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 9A2AE4CAA3; Fri, 13 Apr 2018 22:01:44 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w3DM1bfb011486 for ; Fri, 13 Apr 2018 18:01:37 -0400 Received: by smtp.corp.redhat.com (Postfix) id 92CCE5D9C8; Fri, 13 Apr 2018 22:01:37 +0000 (UTC) Delivered-To: dm-devel@redhat.com Received: from mx1.redhat.com (ext-mx03.extmail.prod.ext.phx2.redhat.com [10.5.110.27]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 529755D9CC; Fri, 13 Apr 2018 22:01:30 +0000 (UTC) Received: from prv3-mh.provo.novell.com (victor.provo.novell.com [137.65.250.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 06840804E2; Fri, 13 Apr 2018 22:01:30 +0000 (UTC) Received: from apollon.suse.de.de (prv-ext-foundry1int.gns.novell.com [137.65.251.240]) by prv3-mh.provo.novell.com with ESMTP (TLS encrypted); Fri, 13 Apr 2018 16:01:25 -0600 From: Martin Wilck To: Christophe Varoqui , Benjamin Marzinski Date: Sat, 14 Apr 2018 00:00:05 +0200 Message-Id: <20180413220015.7032-13-mwilck@suse.com> In-Reply-To: <20180413220015.7032-1-mwilck@suse.com> References: <20180413220015.7032-1-mwilck@suse.com> X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 207 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Fri, 13 Apr 2018 22:01:30 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Fri, 13 Apr 2018 22:01:30 +0000 (UTC) for IP:'137.65.250.26' DOMAIN:'victor.provo.novell.com' HELO:'prv3-mh.provo.novell.com' FROM:'mwilck@suse.com' RCPT:'' X-RedHat-Spam-Score: -2.301 (RCVD_IN_DNSWL_MED, SPF_PASS) 137.65.250.26 victor.provo.novell.com 137.65.250.26 victor.provo.novell.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.27 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: dm-devel@redhat.com Cc: dm-devel@redhat.com, Martin Wilck Subject: [dm-devel] [PATCH v5 12/22] multipath -u: change output to environment/key format X-BeenThere: dm-devel@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: device-mapper development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Fri, 13 Apr 2018 22:01:45 +0000 (UTC) X-Virus-Scanned: ClamAV using ClamSMTP ... instead of free format. This provides more flexibility for udev rule processing for the future. Adapt code in multipath.rules. The exit status remains as usual. This affects "multipath -c", too. The parameters "pathvec" and "conf" for print_cmd_valid are currently unused, but will be in follow-up patches. Signed-off-by: Martin Wilck Reviewed-by: Benjamin Marzinski Reviewed-by: Hannes Reinecke --- multipath/main.c | 14 ++++++++------ multipath/multipath.rules | 6 +++--- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/multipath/main.c b/multipath/main.c index bf28735f..59a72ed0 100644 --- a/multipath/main.c +++ b/multipath/main.c @@ -350,13 +350,15 @@ out: return r; } -static int print_cmd_valid(const char *devpath, int k) +static int print_cmd_valid(int k, const vector pathvec, + struct config *conf) { - if (k < 0 || k > 1) + static const int vals[] = { 1, 0 }; + + if (k < 0 || k >= sizeof(vals)) return 1; - printf("%s is%s a valid multipath device path\n", - devpath, k ? "" : " not"); + printf("DM_MULTIPATH_DEVICE_PATH=\"%d\"\n", vals[k]); return k == 1; } @@ -514,7 +516,7 @@ configure (struct config *conf, enum mpath_cmds cmd, print_valid: if (cmd == CMD_VALID_PATH) - r = print_cmd_valid(devpath, r); + r = print_cmd_valid(r, pathvec, conf); out: if (refwwid) @@ -851,7 +853,7 @@ main (int argc, char *argv[]) if (fd == -1) { condlog(3, "%s: daemon is not running", dev); if (!systemd_service_enabled(dev)) { - r = print_cmd_valid(dev, 1); + r = print_cmd_valid(1, NULL, conf); goto out; } } else diff --git a/multipath/multipath.rules b/multipath/multipath.rules index 6f8ee2be..aab64dc7 100644 --- a/multipath/multipath.rules +++ b/multipath/multipath.rules @@ -19,9 +19,9 @@ LABEL="test_dev" ENV{MPATH_SBIN_PATH}="/sbin" TEST!="$env{MPATH_SBIN_PATH}/multipath", ENV{MPATH_SBIN_PATH}="/usr/sbin" -ENV{DM_MULTIPATH_DEVICE_PATH}!="1", \ - PROGRAM=="$env{MPATH_SBIN_PATH}/multipath -u %k", \ - ENV{DM_MULTIPATH_DEVICE_PATH}="1", ENV{ID_FS_TYPE}="mpath_member", \ +# multipath -u sets DM_MULTIPATH_DEVICE_PATH +ENV{DM_MULTIPATH_DEVICE_PATH}!="1", IMPORT{program}="$env{MPATH_SBIN_PATH}/multipath -u %k" +ENV{DM_MULTIPATH_DEVICE_PATH}=="1", ENV{ID_FS_TYPE}="mpath_member", \ ENV{SYSTEMD_READY}="0" LABEL="end_mpath"