From patchwork Wed Jun 1 20:26:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Martin Wilck X-Patchwork-Id: 12867197 X-Patchwork-Delegate: christophe.varoqui@free.fr Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AC13FC433EF for ; Wed, 1 Jun 2022 20:26:58 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-215-aPXYHQpgN_ehVcQVemxHGA-1; Wed, 01 Jun 2022 16:26:54 -0400 X-MC-Unique: aPXYHQpgN_ehVcQVemxHGA-1 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 4562680A0AD; Wed, 1 Jun 2022 20:26:52 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3539D492C3B; Wed, 1 Jun 2022 20:26:52 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 1295719452D8; Wed, 1 Jun 2022 20:26:52 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 6C3F5194707F for ; Wed, 1 Jun 2022 20:26:48 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 4D3B941047E9; Wed, 1 Jun 2022 20:26:48 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast10.extmail.prod.ext.rdu2.redhat.com [10.11.55.26]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 494EB41047E8 for ; Wed, 1 Jun 2022 20:26:48 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 0A45A1C3E984 for ; Wed, 1 Jun 2022 20:26:48 +0000 (UTC) Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-369-0rWdoB8XPkagJS-oBURkXA-1; Wed, 01 Jun 2022 16:26:46 -0400 X-MC-Unique: 0rWdoB8XPkagJS-oBURkXA-1 Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id D46C621B24; Wed, 1 Jun 2022 20:26:44 +0000 (UTC) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 934831330F; Wed, 1 Jun 2022 20:26:44 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id kOBYIoTLl2IFJwAAMHmgww (envelope-from ); Wed, 01 Jun 2022 20:26:44 +0000 From: mwilck@suse.com To: Christophe Varoqui , Xose Vazquez Perez , Benjamin Marzinski , Steven Schremmer Date: Wed, 1 Jun 2022 22:26:27 +0200 Message-Id: <20220601202628.5469-2-mwilck@suse.com> In-Reply-To: <20220601202628.5469-1-mwilck@suse.com> References: <20220601202628.5469-1-mwilck@suse.com> MIME-Version: 1.0 X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false X-Scanned-By: MIMEDefang 2.84 on 10.11.54.2 Subject: [dm-devel] [PATCH 1/2] libmultipath: hwtable: new defaults for NVMe X-BeenThere: dm-devel@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: device-mapper development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dm-devel@redhat.com, Martin Wilck Errors-To: dm-devel-bounces@redhat.com Sender: "dm-devel" X-Scanned-By: MIMEDefang 2.85 on 10.11.54.10 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dm-devel-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com From: Martin Wilck So far we were using the general defaults (pgpolicy = FAILOVER, pgfailback = -FAILBACK_MANUAL). Xosé's late patches were setting this to either MULTIBUS or ANA, and -FAILBACK_IMMEDIATE, respectively for most specific arrays. At the same time, some vendors don't like seeing their NVMe arrays listed specifically in the multipath-tools hwtable. IMO it makes sense to change the general defaults. detect_prio is the default, and we probe for ANA support. Thus prio will be "ana" for arrays that support it, and "const" otherwise. With "const", GROUP_BY_PRIO degenerates to MULTIBUS, and pgfailback won't happen anyway. This way, our defaults match most Xosé's new entries. The only devices for which this patch changes behavior (from FAILOVER to MULTIBUS) are those generic devices that aren't listed, and don't support ANA. I considered changing the default for no_path_retry, too, but decided against it. The default is "fail", and users who dislike that will need to change it. no_path_retry is more a policy setting than a hardware property, anyway. --- libmultipath/hwtable.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c index 39daadc..e0dce84 100644 --- a/libmultipath/hwtable.c +++ b/libmultipath/hwtable.c @@ -90,7 +90,8 @@ static struct hwentry default_hw[] = { .product = ".*", .uid_attribute = DEFAULT_NVME_UID_ATTRIBUTE, .checker_name = NONE, - .retain_hwhandler = RETAIN_HWHANDLER_OFF, + .pgpolicy = GROUP_BY_PRIO, + .pgfailback = -FAILBACK_IMMEDIATE, }, /* * Apple