From patchwork Tue Mar 5 12:05:44 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Wilck X-Patchwork-Id: 13582283 X-Patchwork-Delegate: christophe.varoqui@free.fr Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DEAAF54916 for ; Tue, 5 Mar 2024 12:06:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709640370; cv=none; b=QEuu7+QxsXPen+GTmTXZvi4tUTHw5/GvtW/mdKmfuoOBM2VpgjjA9Yj73MGD4/XiqDB+0soeYaAUSR1O6tJvoVFOF0O4Vfm0uLCkYpUIy7ZDtKn68iMZqK8QnnrQX5Tc7D/wPXQAnQ4Hc0uhDg4IhQrO/1c4cU4auVg6mgc2onU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709640370; c=relaxed/simple; bh=q88AYD/alrtOPqwXRC5pFf8wi0MZs6r0G61o6jbCxtc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BnZq8JVt3IWJVWqdC2YWR93kaBAMLtaOqPRCrPSTXIzmjYPdmqI34lxDmxe7r52tRN1p05CH/BRtmr1N5J2PE5/JJY2QgCzfAwZpK/H1jT3ENMCvGxKcJHhINuiscG73G5XtC+uqCDR25xMi3v896WIC2KWIcIKoSc16sTCDCxQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=I68crrst; arc=none smtp.client-ip=209.85.221.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="I68crrst" Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-33e383546c1so1054063f8f.2 for ; Tue, 05 Mar 2024 04:06:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1709640366; x=1710245166; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PrPpIRlMpe62OymWcz7BCmTnufGdGNbV1lkhPbWpNUM=; b=I68crrstmh0uNA/GyNvFfonMJ0MVCT0yckdoozP/smFvcgFwbtlHnQTxwZcxuI/T5/ b4woTRpF5OZjNS563kYUvmyn0yHsbBUgmro3Adob92rIpVFY39b9GrakPaQS7KY9H0b/ qidY8otqgkpxA92G0E/A8li4rBmV+lN13Ylka0xv456V9pjXVqIAz2nRRN08XuDQi44Z NUlOZ0AfuJnDyziBKZh2MeztiHQpa9282kABEV8NUmn2UAGLUljwoTSpSYq+lMak0TF8 Dg09ZrhGXNe5LX+ytSZqO6/d+jqBLVJPeq+rxFtmT0zmlVOOF8+V5Us5IiLR9eMzY40X 3g/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709640366; x=1710245166; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PrPpIRlMpe62OymWcz7BCmTnufGdGNbV1lkhPbWpNUM=; b=TMTYmO01F3ArNcoeQRwE93A33rbHGIdQZOVJu2TgzqGQqb3HJd3tLB0qeE7ecV1IGm w9gpeqRSZoC2qe/w4gRji2fVwAX78NsuZitlhPAyMT8KHOjFp7tG9GCZ9tJ3NDx+dHH9 Z3Y7qzCCSJtsN+cpFbAI0sfruIcMklMuWFod83yT7qpsh5BwWE5aAsagsCBhbfdqi5Fz FMuzxGt875roLtnz4XYTsQj7M03YOg9TAYP6DUuhBtT77xS9VhM4vzVEwNDoiZrDxmS9 htoXDPLeK8oX5e41O8ntwWHLLD9DeErpP7PsBEZ5zLukPdAt0iawyZZyiZufoc5yjwpt 99ew== X-Forwarded-Encrypted: i=1; AJvYcCUOlm2w5CJNWbAfJksBH4o/g8HfpGiIBSA/uSjwZz9PKBx+hhJslyLRGBWHYH+usl4Oc9Zjrc5BPrWj4avfZKVpSlkw2yxTPf4= X-Gm-Message-State: AOJu0YzvML1NHSHHc2+AM4cMeeH0mvl0S3IElth4W0HAMAQRLhKvj7fU LdlpnEHEefvwtq/gTi5DU+y+U5wUsv/B73hPDrpy5rhwx9C1cuSRCLC7nqCHFrY= X-Google-Smtp-Source: AGHT+IGTQ/kTzjprM1YKCSlk90efqzFAUHsOTxtWSGkCHHeDdihwDjv28BcmF0yEJsaieVkyIAd3QQ== X-Received: by 2002:a05:6000:4e9:b0:33d:f3c4:6002 with SMTP id cr9-20020a05600004e900b0033df3c46002mr8703086wrb.1.1709640366347; Tue, 05 Mar 2024 04:06:06 -0800 (PST) Received: from localhost ([2001:470:6d:10f7:9114:d168:fb53:9a37]) by smtp.gmail.com with UTF8SMTPSA id n13-20020a5d4c4d000000b0033cfa00e497sm14757266wrt.64.2024.03.05.04.06.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 05 Mar 2024 04:06:06 -0800 (PST) From: Martin Wilck X-Google-Original-From: Martin Wilck To: Peter Rajnoha , Zdenek Kabelac , Benjamin Marzinski , David Teigland Cc: linux-lvm@lists.linux.dev, dm-devel@lists.linux.dev, Martin Wilck , Hannes Reinecke Subject: [PATCH v2 1/7] 13-dm-disk.rules: import ID_FS_TYPE Date: Tue, 5 Mar 2024 13:05:44 +0100 Message-ID: <20240305120550.11617-2-mwilck@suse.com> X-Mailer: git-send-email 2.43.2 In-Reply-To: <20240305120550.11617-1-mwilck@suse.com> References: <20240305120550.11617-1-mwilck@suse.com> Precedence: bulk X-Mailing-List: dm-devel@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 ID_FS_TYPE is the most important udev property for most follow-up rules. It must be imported from the udev db if blkid can't be run. Signed-off-by: Martin Wilck --- udev/13-dm-disk.rules.in | 1 + 1 file changed, 1 insertion(+) diff --git a/udev/13-dm-disk.rules.in b/udev/13-dm-disk.rules.in index dca00bc..eaad972 100644 --- a/udev/13-dm-disk.rules.in +++ b/udev/13-dm-disk.rules.in @@ -26,6 +26,7 @@ ENV{DM_NOSCAN}=="1", GOTO="dm_watch" GOTO="dm_link" LABEL="dm_import" +IMPORT{db}="ID_FS_TYPE" IMPORT{db}="ID_FS_USAGE" IMPORT{db}="ID_FS_UUID_ENC" IMPORT{db}="ID_FS_LABEL_ENC" From patchwork Tue Mar 5 12:05:45 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Wilck X-Patchwork-Id: 13582284 X-Patchwork-Delegate: christophe.varoqui@free.fr Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 194D35A11B for ; Tue, 5 Mar 2024 12:06:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709640372; cv=none; b=KzXLhhtbBQb0CUFC3Lz6vUqghl4qtvMZ7uGjYW+Rz0iF47dwTXt04sVlhgFNzZ+4IVSxdU4pKOA4eUrXvdrtHWYt31zVVWjuZV6S9Xz2XE2+4Bu60TT6aWpHGdn/vXC3J9leFn2nd05HA1MBV251g0ID5uM39Pzx3OxfnPIgztw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709640372; c=relaxed/simple; bh=lfPPztJSU8i6PsrnDFEgaFR33/L2AhHRnuO2C8qKK44=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=e5cPEvU13sn+TUG3up1HWECcm9bbL+zKpHsCPjP9wXMeeosSjITUO09qfDqU9W2TwO7GI1NZgt8Zxx7/kiLkPNGwBOXnnxtdd952pxdZguwEuAhuPflfStWe8IBSE5HMpA2PWkktNhM3OIWZzuqsDTf8iEm+mtpopGBfZ9mPucg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=az/SN6MU; arc=none smtp.client-ip=209.85.128.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="az/SN6MU" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-412eddd165eso2873005e9.1 for ; Tue, 05 Mar 2024 04:06:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1709640368; x=1710245168; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=mLLG4u3ZUc3JsevxgnlE3EEFCImXDxYAkZZZX7kFVkg=; b=az/SN6MUIS0SJbIlOHQrrAlOYrn0QNc4IDq59NEJF2Rw7AIlhKvpbF5X9OOx9Lgn9O /+qtw7AVt/S+KMc2d7o8qu307sFKYNPOZz9kWASct0ZX7PvVQ1dwqWVmfyguxwRK9B1S oKdrixFyodLLMNMhdPtnagBM682zUYsz6yV5PiTe9FiOb0AydKF3Tgc8GnbbX6/y13kR pU7bgwKwryPqV1Zy9lBbmWTA9kUG5aENV1jlSLW/M+sJbmxUvxzK+hs7bAajI/b+q+A7 BehuYkIYKsH4FCYMQJKOk3El7Zhc1cBc4v5mrsOPzv66VKDVcM70s3npKJQz2NPWzVo5 bbOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709640368; x=1710245168; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mLLG4u3ZUc3JsevxgnlE3EEFCImXDxYAkZZZX7kFVkg=; b=io6Sv3OV5uPGiX4/ARUi2yxRmt2QN0TspiyjX6qxldYmKAYmQnO1U7r5HtsgHOMVsb expU7rYUjGtT+YFdRVA13VVuOAsT/Zsn4VT7obYtf518SAX7q3PAhvhKqLb41+pYHZ0B l3RTHCQ5Nif2goQ1JIjIhcJHLG8M8WNheXNaFeRvDTvyzeXOzdY8sA0rADZLVMX/wQoy osy5P2hzP9rsrH4arebO20OYHIsFXxwakfn+y/M+5BmSuH7iiKdbwiBb/szWNlL3ptfy UGTz3/ca7dckLi5QxE4+eOjx/zU3zKBdg3/qmhqNE6ckm8Pv9Tr2zdKHG8aMdKz9zHtn h+ew== X-Forwarded-Encrypted: i=1; AJvYcCXGRF5uzIA2tDPLLwFZtI72b2Wg2H+SgCWLM4exTA8Y6B7p1LhlsFmZ2bsC/2L/vtFmVJ/PoizTYXWNBZB0zeFP1AGRqzsGPTI= X-Gm-Message-State: AOJu0YzWFd02IW1iF4wKQz8f3lbMmqOzEP5+kN71iRfU27COWajaCnj7 oduB4ODtcSmTiL7DyDgNJQTSzXEmE8WNKx/Aq6XrdYtGPjDS4Q+ZPBCboRxA0cM= X-Google-Smtp-Source: AGHT+IH3R2HyyNiBsP+BSGsIiTmJU9kd4BGJlOdJ2dhAWJAZBfptzgA08b36FN7bTpAhGaCPMO6wGg== X-Received: by 2002:adf:cc03:0:b0:33e:dd4:ca44 with SMTP id x3-20020adfcc03000000b0033e0dd4ca44mr5586991wrh.2.1709640368544; Tue, 05 Mar 2024 04:06:08 -0800 (PST) Received: from localhost ([2001:470:6d:10f7:9114:d168:fb53:9a37]) by smtp.gmail.com with UTF8SMTPSA id co17-20020a0560000a1100b0033e3ca55a4esm5800201wrb.21.2024.03.05.04.06.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 05 Mar 2024 04:06:08 -0800 (PST) From: Martin Wilck X-Google-Original-From: Martin Wilck To: Peter Rajnoha , Zdenek Kabelac , Benjamin Marzinski , David Teigland Cc: linux-lvm@lists.linux.dev, dm-devel@lists.linux.dev, Martin Wilck , Hannes Reinecke Subject: [PATCH v2 2/7] 10-dm.rules: test DISK_RO after importing properties Date: Tue, 5 Mar 2024 13:05:45 +0100 Message-ID: <20240305120550.11617-3-mwilck@suse.com> X-Mailer: git-send-email 2.43.2 In-Reply-To: <20240305120550.11617-1-mwilck@suse.com> References: <20240305120550.11617-1-mwilck@suse.com> Precedence: bulk X-Mailing-List: dm-devel@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 DISK_RO is set in the environment of a block-device uevent if and only if the read-only (ro) attribute of the device just changed (the kernel function set_disk_ro() was called). It is not synoymous with the "ro" sysfs attribute; the device could very well be write-protected if DISK_RO is not set. Device mapper-level probing is possible for DISK_RO events, but it makes little sense, because the device propreties haven't changed as far as dm is concerned. But we should import possible previously set device properties to avoid confusing follow-up rules. We should do this for both DISK_RO=1 and DISK_RO=0 events. Signed-off-by: Martin Wilck --- udev/10-dm.rules.in | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/udev/10-dm.rules.in b/udev/10-dm.rules.in index 4ffd3e2..f83fbec 100644 --- a/udev/10-dm.rules.in +++ b/udev/10-dm.rules.in @@ -50,9 +50,6 @@ ACTION!="add|change", GOTO="dm_end" # kernels >= 2.6.31 only. Cookie is not decoded for remove event. ENV{DM_COOKIE}=="?*", IMPORT{program}="(DM_EXEC)/dmsetup udevflags $env{DM_COOKIE}" -# Rule out easy-to-detect inappropriate events first. -ENV{DISK_RO}=="1", GOTO="dm_disable" - # There is no cookie set nor any flags encoded in events not originating # in libdevmapper so we need to detect this and try to behave correctly. # For such spurious events, regenerate all flags from current udev database content @@ -69,6 +66,10 @@ IMPORT{db}="DM_UDEV_FLAG7" IMPORT{db}="DM_UDEV_RULES_VSN" LABEL="dm_flags_done" +# If DISK_RO is set, it's an uevent that changes the ro attribute of the device. +# The event should be ignored as far as dm is concerned. +ENV{DISK_RO}=="0|1", GOTO="dm_disable" + # Normally, we operate on "change" events. But when coldplugging, there's an # "add" event present. We have to recognize this and do our actions in this # particular situation, too. Also, we don't want the nodes to be created From patchwork Tue Mar 5 12:05:46 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Wilck X-Patchwork-Id: 13582285 X-Patchwork-Delegate: christophe.varoqui@free.fr Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 13CED59B5C for ; Tue, 5 Mar 2024 12:06:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709640374; cv=none; b=kcRGMps2F3lD72GfWPWWBuDVR3RJXFZxKJDcuHcgZ+rCavWRa8IXiXxPPxTBMc0GKQyYWyYLooH8KIHCfjUQmGuUMkzfH6lgyp3ZjL8fB3Lle1LDUF41eagYpWQjXoPc9vZkT3aiBNAOD95m5SeWuezlpf2a5Pe7rP9um16H66w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709640374; c=relaxed/simple; bh=h87Ur7G/Y4jKEacfNU48rg1JaHg9qYFEuSMfZOYYFCE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lPrfmRW0SlTgxrWrB1082vShN8hgG67OrjvEMERygvut0xCEBrYa/WYxP0pB9OFr/oCYY6p2ZZRHOo2RYcw+AHlleZwzs49OsFlGebEXVlgFnL+6FmJpppDbCqSMPd+FaNLjTjiTFEzjwP+d94gs/BD3YzdWMg87Y9lQCmGyrp4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=D0+ycs73; arc=none smtp.client-ip=209.85.167.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="D0+ycs73" Received: by mail-lf1-f44.google.com with SMTP id 2adb3069b0e04-5133d276cbaso4295578e87.2 for ; Tue, 05 Mar 2024 04:06:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1709640370; x=1710245170; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9gra59CEdOdjH+awRNYyYaZsgl4i35ArARZaV4qrZPQ=; b=D0+ycs73BnXr77tG2Lc2I5nv0W5nbR4KdGwnUjg5pQp0DOQvNj7z4hzOI6epbqaKPt sbNBiweSz/34dF23vhsiweu0boODKBSVOh6WRRJF0GEWzGUW0Ci2wnsqgobIwtlxX9Ut biK4Bd9StrKIOTVkJUDMOTd172em1HgFQnWqIuhLZz48GBLG87QRYkDJKxlAWbUM1jLQ aiGt1ArtBfJ5e5bvbCliH3jKTq1kKplqqKHYj32WU7lSiseImsqyk9CdmT10Qq8t6KtC fzU5ZliEJft5TMrra0AUR2LgrOVcQEiKyLawp+KbY/Bs0kSL3To+d1ZS+8s41QgetEYT JDFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709640370; x=1710245170; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9gra59CEdOdjH+awRNYyYaZsgl4i35ArARZaV4qrZPQ=; b=Nbm9KfxQ2QvDWfTTFdr2LQXLCub8CbQ5smLAhey8wOiLUvWIWiQzA6RpMSWg7qyKqs gYcFvVxUFgvPvemk5kS6yaKE0NGwGGxj1jRosgde4+tQthmmpoHY9sDhScT/JdDLIhh7 1ZH5MegXlXPlKcpizQWWUD8HJGofN+uVr5ndQBzVTQoUIwSMNufMjLxbnHnPDZnllRsv AkEgQmETDu/Wvxw5txK5U0M3AO4H5UQxILzufZ8DMLekmhReQUsupRNR1bTbid/k5D78 UFBXUPBKzRS0bcWrmnwTfkkzyz8TFFCH8r/d34QrlMZZI8cX48y/qlpNj60OuTajrBww CfMQ== X-Forwarded-Encrypted: i=1; AJvYcCWZcDDXuoH9NYYb1oWJWtB4zv5yglAOpUkw6ZnxPh1w0nGMh9BZHV9t61niaWwpg4VMjIp4eRdjmR6zPdPFPjFmL8gr1lesT8A= X-Gm-Message-State: AOJu0YzQuoqGbXTwHND5Fhcq0qOlk0fEZfJmtkjhe9WBzW8jWGivAeCA lnVtN5Y/m4u8ykmGAGN/DpZ6hF3muaoW0SaYCM54+7OUEMHW/Nd1XyIioYGlQiU= X-Google-Smtp-Source: AGHT+IFfM6Y+4a08smpeFUGCYwp0YHIcoOOis/u6Mgr+qJsPQ/ZZiCWyKp8oubHyI86E8w3lR6VHjQ== X-Received: by 2002:ac2:4c16:0:b0:513:26b5:139a with SMTP id t22-20020ac24c16000000b0051326b5139amr1256347lfq.23.1709640370267; Tue, 05 Mar 2024 04:06:10 -0800 (PST) Received: from localhost ([2001:470:6d:10f7:9114:d168:fb53:9a37]) by smtp.gmail.com with UTF8SMTPSA id iv16-20020a05600c549000b00412ea92f1b4sm2555533wmb.19.2024.03.05.04.06.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 05 Mar 2024 04:06:10 -0800 (PST) From: Martin Wilck X-Google-Original-From: Martin Wilck To: Peter Rajnoha , Zdenek Kabelac , Benjamin Marzinski , David Teigland Cc: linux-lvm@lists.linux.dev, dm-devel@lists.linux.dev, Martin Wilck , Hannes Reinecke Subject: [PATCH v2 3/7] 10-dm-rules: don't restore DM_UDEV_DISABLE_OTHER_RULES_FLAG from db Date: Tue, 5 Mar 2024 13:05:46 +0100 Message-ID: <20240305120550.11617-4-mwilck@suse.com> X-Mailer: git-send-email 2.43.2 In-Reply-To: <20240305120550.11617-1-mwilck@suse.com> References: <20240305120550.11617-1-mwilck@suse.com> Precedence: bulk X-Mailing-List: dm-devel@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 We use DM_UDEV_DISABLE_OTHER_RULES_FLAG to tell upper non-DM layers to keep their hands off the device in question, for any reason. One possible reason is that the device is supended; another is that the cookie carries the flag of the same name. DM_SUSPENDED is not restored from the db, but evaluated anew for every uevent. Therefore DM_UDEV_DISABLE_OTHER_RULES_FLAG shouldn't be restored, either. Use a new variable DM_COOKIE_DISABLE_OTHER_RULES_FLAG to save and restore the original value from the cookie. Signed-off-by: Martin Wilck --- udev/10-dm.rules.in | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/udev/10-dm.rules.in b/udev/10-dm.rules.in index f83fbec..e5cc10f 100644 --- a/udev/10-dm.rules.in +++ b/udev/10-dm.rules.in @@ -48,7 +48,14 @@ ACTION!="add|change", GOTO="dm_end" # These flags are encoded in DM_COOKIE variable that was introduced in # kernel version 2.6.31. Therefore, we can use this feature with # kernels >= 2.6.31 only. Cookie is not decoded for remove event. -ENV{DM_COOKIE}=="?*", IMPORT{program}="(DM_EXEC)/dmsetup udevflags $env{DM_COOKIE}" +ENV{DM_COOKIE}!="?*", GOTO="dm_no_cookie" +IMPORT{program}="(DM_EXEC)/dmsetup udevflags $env{DM_COOKIE}" + +# Store the original flag from the cookie as DM_COOKIE_DISABLE_OTHER_RULES_FLAG +# in the udev db. DM_UDEV_DISABLE_OTHER_RULES_FLAG will be or'd with other +# conditions for use by upper, non-dm layers. +ENV{DM_COOKIE_DISABLE_OTHER_RULES_FLAG}="%E{DM_UDEV_DISABLE_OTHER_RULES_FLAG}" +LABEL="dm_no_cookie" # There is no cookie set nor any flags encoded in events not originating # in libdevmapper so we need to detect this and try to behave correctly. @@ -58,12 +65,13 @@ ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}=="1", ENV{DM_ACTIVATION}="1", GOTO="dm_flags_do IMPORT{db}="DM_UDEV_DISABLE_DM_RULES_FLAG" IMPORT{db}="DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG" IMPORT{db}="DM_UDEV_DISABLE_DISK_RULES_FLAG" -IMPORT{db}="DM_UDEV_DISABLE_OTHER_RULES_FLAG" +IMPORT{db}="DM_COOKIE_DISABLE_OTHER_RULES_FLAG" IMPORT{db}="DM_UDEV_LOW_PRIORITY_FLAG" IMPORT{db}="DM_UDEV_DISABLE_LIBRARY_FALLBACK_FLAG" IMPORT{db}="DM_UDEV_PRIMARY_SOURCE_FLAG" IMPORT{db}="DM_UDEV_FLAG7" IMPORT{db}="DM_UDEV_RULES_VSN" +ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="%E{DM_COOKIE_DISABLE_OTHER_RULES_FLAG}" LABEL="dm_flags_done" # If DISK_RO is set, it's an uevent that changes the ro attribute of the device. From patchwork Tue Mar 5 12:05:47 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Wilck X-Patchwork-Id: 13582286 X-Patchwork-Delegate: christophe.varoqui@free.fr Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9124259B70 for ; Tue, 5 Mar 2024 12:06:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709640375; cv=none; b=CHGCTjCca+HjUQiiBypSAm295BLLpmUY9FmRVoDRAwVGOA0zQjujMC+VtjRnzBJ3cRQU72SbiZhVRro/BMuLJnX0wb1Ta5TzAOoBdGt0I209uUdYgEOxIvvjN75jQOLN7v70pD0aI158GLsdg02o7p8UXt/wbcM6DxMGP3l6UTU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709640375; c=relaxed/simple; bh=XwLouIOkyoFFCY/NijAavYEmB65ECJZxxV2Smeki4qo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TuKXys3YJ+CMntU4fuYdHl2YNC+kDnCSNaWp2K1BnmZcXbgyHmiRJ+9/5VqHTvPEZFSpG1eLzit04Z0yb9frkcGZKHwky8y67ocPy+KX+I6J+Hz/tBQ6ElK5fDIxTdkFGMOOUAAKMDAig24o/kXzJm0sUZVf/eoKFCLTf3Q1GQY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=UojizwN8; arc=none smtp.client-ip=209.85.128.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="UojizwN8" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-412e6ba32easo12279045e9.0 for ; Tue, 05 Mar 2024 04:06:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1709640372; x=1710245172; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6q7Z+JuTjKNCARoW6XoPy3jitO6RjQKV6tGuor3jKWM=; b=UojizwN8UQBpyoNSDrSg3B8hQ0queKKjihhjkl+U5elMV2P3zuCdYg54mZULYLZsoT tOATcQazQ1DHWh97jLBqwceQqJzQfdCpi0VYQkWXvHLteZKUutXbAbw1H0INXhCip7ac 18ajoFqjdHGI/mI9vdAZgL6w5DcZJU0pf45K4roYgYbyS4YGh/Za4FMlwKx0LX8ntdv8 jZAaMXaw3dg9v9allXGVvH6BuMJjjkpxEgzk2X5e+NjUZM7/9TN+uzzwVu6KmEeaAtYm 25mdAcCgiLhD4DTpqRv0vmNP+5npSKU9X2bc665qfMMcla/iskYuwd4gtyM4a/VGaRTF ngpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709640372; x=1710245172; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6q7Z+JuTjKNCARoW6XoPy3jitO6RjQKV6tGuor3jKWM=; b=i9ohvIMmaPDcUZ2GXDb1aaaVarwE0jkcln+0gAyHPrn6ZVjuByUFwQZrC46RSFijyq szi5eHQ09ZLaU9JReaZEiOjGq3Wuf4jpL/7qHc7xZKGgti5NsaAoM5e+oC7uPHgUesFa YL/sIzNeVLUPeNCACtrLUCdFLFcr2apZANl9LJzHMGtLwXdWG+vzKFbg4ZZxMVdN73mG aFwZ0WpZSK1xjDCu7JVzLqTNKSlLBND35zpqOxG8cE+VHVEPWSWUSc3H1dmvgHW/SB3u Ar3vPel2GHUgJz8n0v1CNSvihQXW7/NTL39lfGuLs/WklTVwu183HP0U6AM1kWwWuXtA W98w== X-Forwarded-Encrypted: i=1; AJvYcCWKz8xjKOBLcnKf5n0PVHKrAoqEwpxVvye4keTxo5FlUh3EF8fBBfsQqTP8Usw4rxbjgJyD5nPVoaZh1TKz57Iwk5CVOvPyRqQ= X-Gm-Message-State: AOJu0Yy4HADY43Va+wHyZktEFdvYV1V+nWbUI0cuN39CKQfjR7hfGvKL ZQHLql/Xde7ygevVOR3uyywmdKKpVH4aqsxPw9lxDR+2BJh69JvBpR/p8vAZwKWsZVHnO5uH+ei d X-Google-Smtp-Source: AGHT+IHwXUoVPl0c2/fvNQh3sNLnXRcBKhO3QXtsVMfmZLCCllwZh7hRcWRi1pNoRzIMPk/V3mNDCQ== X-Received: by 2002:a05:600c:19d1:b0:412:c8cc:d9eb with SMTP id u17-20020a05600c19d100b00412c8ccd9ebmr8965632wmq.23.1709640372141; Tue, 05 Mar 2024 04:06:12 -0800 (PST) Received: from localhost ([2001:470:6d:10f7:9114:d168:fb53:9a37]) by smtp.gmail.com with UTF8SMTPSA id az23-20020adfe197000000b0033e4403c6a9sm3862656wrb.22.2024.03.05.04.06.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 05 Mar 2024 04:06:12 -0800 (PST) From: Martin Wilck X-Google-Original-From: Martin Wilck To: Peter Rajnoha , Zdenek Kabelac , Benjamin Marzinski , David Teigland Cc: linux-lvm@lists.linux.dev, dm-devel@lists.linux.dev, Martin Wilck , Hannes Reinecke Subject: [PATCH v2 4/7] 11-dm-lvm.rules: don't restore DM_UDEV_DISABLE_OTHER_RULES_FLAG from db Date: Tue, 5 Mar 2024 13:05:47 +0100 Message-ID: <20240305120550.11617-5-mwilck@suse.com> X-Mailer: git-send-email 2.43.2 In-Reply-To: <20240305120550.11617-1-mwilck@suse.com> References: <20240305120550.11617-1-mwilck@suse.com> Precedence: bulk X-Mailing-List: dm-devel@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 DM_UDEV_DISABLE_OTHER_RULES_FLAG is used as the "output" flag of the device-mapper rules, to be consumed by non-dm rules. It is a logical OR of several conditions that might make dm devices inaccessible. 10-dm.rules calculates it for every uevent, whether it's genuine or spurious. DM_SUBSYSTEM_UDEV_FLAG0 is just another flag that needs to be or'd in. We don't need to restore the previous state of DM_UDEV_DISABLE_OTHER_RULES_FLAG. Actually, doing so is wrong if the flag has previously been set because the device was suspended, and the device isn't suspended anymore. Signed-off-by: Martin Wilck --- udev/11-dm-lvm.rules.in | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/udev/11-dm-lvm.rules.in b/udev/11-dm-lvm.rules.in index 7c58994..0b77fe2 100644 --- a/udev/11-dm-lvm.rules.in +++ b/udev/11-dm-lvm.rules.in @@ -26,14 +26,11 @@ IMPORT{program}="(DM_EXEC)/dmsetup splitname --nameprefixes --noheadings --rows # to zero any stale metadata found within the LV data area. Such stale # metadata could cause false claim of the LV device, keeping it open etc. # -# If the NOSCAN flag is present, backup selected existing flags used to -# disable rules, then set them firmly so those selected rules are surely skipped. -# Restore these flags once the NOSCAN flag is dropped (which is normally any -# uevent that follows for this LV, even an artificially generated one). -ENV{DM_SUBSYSTEM_UDEV_FLAG0}=="1", ENV{DM_NOSCAN}="1", ENV{DM_DISABLE_OTHER_RULES_FLAG_OLD}="$env{DM_UDEV_DISABLE_OTHER_RULES_FLAG}", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="1" -ENV{DM_SUBSYSTEM_UDEV_FLAG0}!="1", IMPORT{db}="DM_NOSCAN", IMPORT{db}="DM_DISABLE_OTHER_RULES_FLAG_OLD" -ENV{DM_SUBSYSTEM_UDEV_FLAG0}!="1", ENV{DM_NOSCAN}=="1", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="$env{DM_DISABLE_OTHER_RULES_FLAG_OLD}", \ - ENV{DM_DISABLE_OTHER_RULES_FLAG_OLD}="", ENV{DM_NOSCAN}="" +# If the NOSCAN flag is present, set DM_UDEV_DISABLE_OTHER_RULES_FLAG +# so those selected rules are surely skipped. +# We don't need to save and restore the previous of DM_UDEV_DISABLE_OTHER_RULES_FLAG, +# that's taken care of in 10-dm.rules. +ENV{DM_SUBSYSTEM_UDEV_FLAG0}=="1", ENV{DM_NOSCAN}="1", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="1" ENV{DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG}=="1", GOTO="lvm_end" From patchwork Tue Mar 5 12:05:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Wilck X-Patchwork-Id: 13582287 X-Patchwork-Delegate: christophe.varoqui@free.fr Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6F09359B5C for ; Tue, 5 Mar 2024 12:06:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709640377; cv=none; b=iBX/c156PSXH2ESurBMjBHnZwUUCRbjzTAE/LTppAh7ecqZUX2qmhJHolrAzyvu6VP+3uqf1TWtrwUACbxhO7Vv0+PpM3jh8KC+AFdmQefz01u7HOxO4i6tZAwZ0hC2W9ltL4j2OHoAikDKBerrCsqqtiyr4Hcx9U/eg3mGfXuY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709640377; c=relaxed/simple; bh=tm3q+MzReyLTmDBPPl+Dn11NG2yXpgoVHleJUmbGY+4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=EacyVnmCC69y+o7+DZbrOKHV4n8crsl1ve1abhci7P+zVrc60fN2mI9J0TbNQpt+X7t9cFTW56ygKYOQ9T0ZN4LikLtMT4i+xII3YJErhNODEb1vbRhihTuenuMaOOKrIIjuw3u7HR+sHfSRW/kiKCdlHK6tW5ppkqXxTq/1SFU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=A4mePkjo; arc=none smtp.client-ip=209.85.128.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="A4mePkjo" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-412e4426e32so14031245e9.2 for ; Tue, 05 Mar 2024 04:06:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1709640374; x=1710245174; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=kpjX0gmY7V/97ZsqYZd7OC8NLT0s7Eb85kt1BdbXCas=; b=A4mePkjo7gu0ONo/fKHkJ+EPJA9secQeJcA5I3twxqRIZ+FUuNxQfsw6dOACa9JaGo Nx3iQ2pTGLW33rV27+7x15nB8fokc3i/fmHLOfdjI/v1q+RZFGFM/WSdVYcPUEg321lJ uQHA/8vaZssaTRoQUHQd4qDAvxRxHfiKtA8nWy2/uJ3Wm8U+EhUSApnxnqA/emFOx4nF x/voMg5EDcVKAiBej0k0ElYmpbLSCkTY4R+n6mr5c+mqlR//+9u9NgU12XGFo6gwXhBN PN4KvWUQh42guhBcJbR8PoSEPHp2lnLdmP0+Sj7anv0rTgPCs6XnB/Ss0km5ywgwsFnM KzqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709640374; x=1710245174; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kpjX0gmY7V/97ZsqYZd7OC8NLT0s7Eb85kt1BdbXCas=; b=u32HEBAW279QFFYdOt32DV5kaRwcKErmg0Hrt2dFTxWRm7LXuVQr1p/g+biu+mPVbd E6lKL0lZ730H+NcJoKCLQphbihokizUkmnJrCVbJGLIMzEKBYpz3vvh9yw10BUZAGmN0 kEIENpH1NZ4NOURpCc4gOOIrKx4/KA74me8Y45Er9YwXuCDWnH/5mdpGxZXzEq3DdA2z VFqCrpGoHrjZE6igjfwq0IG34IUOO1NeWmYWPoZA9ddjSM9m6mbgWb3XpMLIHTiAcreO 2m0hpIcIXxicFXyjDDSa3Nv3j3Lf2xC5NUEkmgIEPZ6FHnvRxLid+xr37LVkkAU69UPF lDug== X-Forwarded-Encrypted: i=1; AJvYcCU2BPF19+p5l8mm8qMfzhnMcejBr0GZMXt5mN4dSYw0aGiSHexwuBqgKA0zPCLbEt1VF1IweJGDekUfHJA5OJyN6SuVja2Tl2M= X-Gm-Message-State: AOJu0YzbXazH2MbYVa/T9iK9SzRx5IYzUYBQz2v4Ye9huHjue4o8rCB9 igyXGy+Bq8VHb8hk8E912RIbz6eaSWWr1FnGD/HD7jK8SvqMbq5EyUH2q7kCaOqvD+WPFKwtRVd M X-Google-Smtp-Source: AGHT+IFVZCKdGhcYMT3KeOtoKbf+GtRGjjvUT1jyNbnUedU+LerbE234niK5/qEr4bO5hqaKW/aBbg== X-Received: by 2002:a05:600c:1e23:b0:412:ebdb:d766 with SMTP id ay35-20020a05600c1e2300b00412ebdbd766mr1366326wmb.37.1709640374049; Tue, 05 Mar 2024 04:06:14 -0800 (PST) Received: from localhost ([2001:470:6d:10f7:9114:d168:fb53:9a37]) by smtp.gmail.com with UTF8SMTPSA id n19-20020a05600c501300b00412ed1eabc1sm1774156wmr.22.2024.03.05.04.06.13 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 05 Mar 2024 04:06:13 -0800 (PST) From: Martin Wilck X-Google-Original-From: Martin Wilck To: Peter Rajnoha , Zdenek Kabelac , Benjamin Marzinski , David Teigland Cc: linux-lvm@lists.linux.dev, dm-devel@lists.linux.dev, Martin Wilck , Hannes Reinecke Subject: [PATCH v2 5/7] dm udev rules: don't export and save DM_SUSPENDED Date: Tue, 5 Mar 2024 13:05:48 +0100 Message-ID: <20240305120550.11617-6-mwilck@suse.com> X-Mailer: git-send-email 2.43.2 In-Reply-To: <20240305120550.11617-1-mwilck@suse.com> References: <20240305120550.11617-1-mwilck@suse.com> Precedence: bulk X-Mailing-List: dm-devel@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 DM_SUSPENDED is a device-mapper internal flag, which is not intended to be used by other rules, and which is determined by 10-dm.rules from sysfs for every uevent. Rename it to ".DM_SUSPENDED", so that it won't be saved in the udev database. Known consumers of DM_SUSPENDED are 66-kpartx.rules (from multipath-tools) and 99-systemd.rules (from systemd). These will have to be adapted. 11-dm-mpath.rules will be changed to use .DM_SUSPENDED. Signed-off-by: Martin Wilck --- udev/10-dm.rules.in | 14 ++++++++------ udev/12-dm-permissions.rules | 2 +- udev/13-dm-disk.rules.in | 4 ++-- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/udev/10-dm.rules.in b/udev/10-dm.rules.in index e5cc10f..fccf3bc 100644 --- a/udev/10-dm.rules.in +++ b/udev/10-dm.rules.in @@ -11,7 +11,6 @@ # for use in later rules: # DM_NAME - actual DM device's name # DM_UUID - UUID set for DM device (blank if not specified) -# DM_SUSPENDED - suspended state of DM device (0 or 1) # DM_UDEV_RULES_VSN - DM udev rules version # # These rules cover only basic device-mapper functionality in udev. @@ -118,15 +117,18 @@ LABEL="dm_no_coldplug" # The "suspended" item was added even later (kernels >= 2.6.31), # so we also have to call dmsetup if the kernel version used # is in between these releases. -TEST=="dm", ENV{DM_NAME}="$attr{dm/name}", ENV{DM_UUID}="$attr{dm/uuid}", ENV{DM_SUSPENDED}="$attr{dm/suspended}" +TEST=="dm", ENV{DM_NAME}="$attr{dm/name}", ENV{DM_UUID}="$attr{dm/uuid}", ENV{.DM_SUSPENDED}="$attr{dm/suspended}" TEST!="dm", IMPORT{program}="(DM_EXEC)/dmsetup info -j %M -m %m -c --nameprefixes --noheadings --rows -o name,uuid,suspended" -ENV{DM_SUSPENDED}!="?*", IMPORT{program}="(DM_EXEC)/dmsetup info -j %M -m %m -c --nameprefixes --noheadings --rows -o suspended" +ENV{.DM_SUSPENDED}=="?*", GOTO="dm_suspended_set" +TEST=="dm", IMPORT{program}="(DM_EXEC)/dmsetup info -j %M -m %m -c --nameprefixes --noheadings --rows -o suspended" # dmsetup tool provides suspended state information in textual # form with values "Suspended"/"Active". We translate it to # 0/1 respectively to be consistent with sysfs values. -ENV{DM_SUSPENDED}=="Active", ENV{DM_SUSPENDED}="0" -ENV{DM_SUSPENDED}=="Suspended", ENV{DM_SUSPENDED}="1" +ENV{DM_SUSPENDED}=="Active", ENV{.DM_SUSPENDED}="0" +ENV{DM_SUSPENDED}=="Suspended", ENV{.DM_SUSPENDED}="1" +ENV{DM_SUSPENDED}="" +LABEL="dm_suspended_set" # This variable provides a reliable way to check that device-mapper # rules were installed. It means that all needed variables are set @@ -144,7 +146,7 @@ ENV{DM_UDEV_DISABLE_DM_RULES_FLAG}!="1", ENV{DM_NAME}=="?*", SYMLINK+="(DM_DIR)/ # Avoid processing and scanning a DM device in the other (foreign) # rules if it is in suspended state. However, we still keep 'disk' # and 'DM subsystem' related rules enabled in this case. -ENV{DM_SUSPENDED}=="1", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="1" +ENV{.DM_SUSPENDED}=="1", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="1" GOTO="dm_end" diff --git a/udev/12-dm-permissions.rules b/udev/12-dm-permissions.rules index a9d4c32..6a69d2f 100644 --- a/udev/12-dm-permissions.rules +++ b/udev/12-dm-permissions.rules @@ -14,7 +14,7 @@ # DM_UDEV_RULES_VSN - DM udev rules version # DM_NAME - actual DM device's name # DM_UUID - UUID set for DM device (blank if not specified) -# DM_SUSPENDED - suspended state of DM device (0 or 1) +# .DM_SUSPENDED - suspended state of DM device (0 or 1) # DM_LV_NAME - logical volume name (not set if LVM device not present) # DM_VG_NAME - volume group name (not set if LVM device not present) # DM_LV_LAYER - logical volume layer (not set if LVM device not present) diff --git a/udev/13-dm-disk.rules.in b/udev/13-dm-disk.rules.in index eaad972..cb2ce2d 100644 --- a/udev/13-dm-disk.rules.in +++ b/udev/13-dm-disk.rules.in @@ -17,9 +17,9 @@ ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}=="1", GOTO="dm_end" SYMLINK+="disk/by-id/dm-name-$env{DM_NAME}" ENV{DM_UUID}=="?*", SYMLINK+="disk/by-id/dm-uuid-$env{DM_UUID}" -ENV{DM_SUSPENDED}=="1", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}=="1", GOTO="dm_import" +ENV{.DM_SUSPENDED}=="1", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}=="1", GOTO="dm_import" ENV{DM_NOSCAN}=="1", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}=="1", GOTO="dm_import" -ENV{DM_SUSPENDED}=="1", GOTO="dm_end" +ENV{.DM_SUSPENDED}=="1", GOTO="dm_end" ENV{DM_NOSCAN}=="1", GOTO="dm_watch" (BLKID_RULE) From patchwork Tue Mar 5 12:05:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Wilck X-Patchwork-Id: 13582288 X-Patchwork-Delegate: christophe.varoqui@free.fr Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 85BBB59B76 for ; Tue, 5 Mar 2024 12:06:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709640379; cv=none; b=fKGl0WuE7oUjzWy51EO3kqFNaORx3xOmxnNy6wbKLrKABZROIr6UZYD2G/f5btp5A3Kpxnuew9VhpUKQPjxUS4qH7QFLqUTzcjYzaNJNroS3havS9Pbjbc+GT5FRAd9MiNLQhNa/klp5GuiMYjcDbdQw3Mer2zrLM32W3K8M44Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709640379; c=relaxed/simple; bh=BH2Mff6eMxJxa8uiy8bILawJnuPt/8OqM8H2fSVLxP8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FDenKcdKWFDClhgROHcg+PkTdf+nWReGb7OkTXBAxi5ND4ovszxs6Vilgvz2R7gGqweBubuIz2H+gLcwDd06aHF+QOIsIJ6I3lEL3zV9Cn29quSbwwEcGh8dtygPd2aYtVw7ZGF5qZA24Rgj52XyaLUpofdsuqaA/CVkiVcmZlc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=fNgHtBw5; arc=none smtp.client-ip=209.85.221.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="fNgHtBw5" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-33e2248948bso2139301f8f.0 for ; Tue, 05 Mar 2024 04:06:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1709640376; x=1710245176; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rfBHQaU0uiX0Tda2C5yW1m1OiRNeG08zo8vwLv7hkzw=; b=fNgHtBw5hiSrsGx4BxzjJO/x8ujZi+c1nyf2EZ1nRa4/qiNgnPcQuqDTmxQ74Hm9R/ 30+AghxdFH9XzxJ4iCSRBYum5JGxtrFHlrRriGqvwCn9kt2gyBrYIxMy1oyggAZI7eHA pR68bO/8l6oR5dqwnG9IIti3OLfLANBuJEW9rERAsDL9rtkqgJl8hcLPKBIuwfsrLhWe bPe93+OauOUNDIt6vtnU4dTOncHszldb8OXe4LRzGKMboeHHF5GabUojhPt8DTt+9vl8 tHTgpZzeJr5l5vKUS1aXP3rc56chmQFtuyCWx7zp58KjjMUceFakl2ODA/4DrkscXpxN +8NQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709640376; x=1710245176; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rfBHQaU0uiX0Tda2C5yW1m1OiRNeG08zo8vwLv7hkzw=; b=JceKbJPBW5Xtd+pYWmITRrFiRpoSQLWIekCj1d0RTF/FscCtXqlJpR7cspH7Ib6VUN JvBHLCb0lDlz6OrFxCgf7/qTOnUTBnnPoACxOoSuPifnc0azDkm07lZfggrfYTGWcXyK M3FzJW5f0KXZPEvZx9Ywhsnr8m08CDPz10bOjB7XDGDaLW3XAk52TiEjEKHGnVLibTX4 WGR7A5zI4XviUBTdzigWiSuwTW6Fyp7d/4Df4FVyXtz1tyeg0kwmABEro53M4L8+Cc17 HCjnhuZYrKWXltaBahWm1GA3amNkiSM8Rmp9X5BL9hk6ZPc9BnUKjHh7lXexCbpCX8on ODjQ== X-Forwarded-Encrypted: i=1; AJvYcCXOjJ8CiPx1FkWIbI7wk+5aRhmaZg/RTmgTtC2qlhwmalO5EEst1fguJTbXvAwSfPp8wREsFRFIMJCd12PuzhUDOIxkugOkvJ0= X-Gm-Message-State: AOJu0Yw1hoLxYr9pYA1XYriSMKxT0xSDr3utthG9fdkvR23WUjwXucVe buaOobTQT9xcJ8EZF+6ryYqiwEgFGte54pvIx2TusbTpgBk4rPj0PW07mH3r6QA= X-Google-Smtp-Source: AGHT+IG52EWb26ZxrSg+0ueqss7ujEQNGD6/6lKKp1enlXf/nneM7+wtnDCwaAwRr0kLFwxLzndUPw== X-Received: by 2002:a5d:4b07:0:b0:33d:7d88:cae5 with SMTP id v7-20020a5d4b07000000b0033d7d88cae5mr8647957wrq.69.1709640375944; Tue, 05 Mar 2024 04:06:15 -0800 (PST) Received: from localhost ([2001:470:6d:10f7:9114:d168:fb53:9a37]) by smtp.gmail.com with UTF8SMTPSA id l15-20020adfa38f000000b0033e03d37685sm14881556wrb.55.2024.03.05.04.06.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 05 Mar 2024 04:06:15 -0800 (PST) From: Martin Wilck X-Google-Original-From: Martin Wilck To: Peter Rajnoha , Zdenek Kabelac , Benjamin Marzinski , David Teigland Cc: linux-lvm@lists.linux.dev, dm-devel@lists.linux.dev, Martin Wilck , Hannes Reinecke Subject: [PATCH v2 6/7] dm udev rules: don't export and save DM_NOSCAN Date: Tue, 5 Mar 2024 13:05:49 +0100 Message-ID: <20240305120550.11617-7-mwilck@suse.com> X-Mailer: git-send-email 2.43.2 In-Reply-To: <20240305120550.11617-1-mwilck@suse.com> References: <20240305120550.11617-1-mwilck@suse.com> Precedence: bulk X-Mailing-List: dm-devel@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 DM_NOSCAN is not an official API any more and doesn't have to be restored from the udev db. Rename it to .DM_NOSCAN. Signed-off-by: Martin Wilck --- udev/11-dm-lvm.rules.in | 2 +- udev/13-dm-disk.rules.in | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/udev/11-dm-lvm.rules.in b/udev/11-dm-lvm.rules.in index 0b77fe2..d0a5637 100644 --- a/udev/11-dm-lvm.rules.in +++ b/udev/11-dm-lvm.rules.in @@ -30,7 +30,7 @@ IMPORT{program}="(DM_EXEC)/dmsetup splitname --nameprefixes --noheadings --rows # so those selected rules are surely skipped. # We don't need to save and restore the previous of DM_UDEV_DISABLE_OTHER_RULES_FLAG, # that's taken care of in 10-dm.rules. -ENV{DM_SUBSYSTEM_UDEV_FLAG0}=="1", ENV{DM_NOSCAN}="1", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="1" +ENV{DM_SUBSYSTEM_UDEV_FLAG0}=="1", ENV{.DM_NOSCAN}="1", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="1" ENV{DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG}=="1", GOTO="lvm_end" diff --git a/udev/13-dm-disk.rules.in b/udev/13-dm-disk.rules.in index cb2ce2d..7989871 100644 --- a/udev/13-dm-disk.rules.in +++ b/udev/13-dm-disk.rules.in @@ -18,9 +18,9 @@ SYMLINK+="disk/by-id/dm-name-$env{DM_NAME}" ENV{DM_UUID}=="?*", SYMLINK+="disk/by-id/dm-uuid-$env{DM_UUID}" ENV{.DM_SUSPENDED}=="1", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}=="1", GOTO="dm_import" -ENV{DM_NOSCAN}=="1", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}=="1", GOTO="dm_import" +ENV{.DM_NOSCAN}=="1", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}=="1", GOTO="dm_import" ENV{.DM_SUSPENDED}=="1", GOTO="dm_end" -ENV{DM_NOSCAN}=="1", GOTO="dm_watch" +ENV{.DM_NOSCAN}=="1", GOTO="dm_watch" (BLKID_RULE) GOTO="dm_link" From patchwork Tue Mar 5 12:05:50 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Wilck X-Patchwork-Id: 13582289 X-Patchwork-Delegate: christophe.varoqui@free.fr Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 54D825A10F for ; Tue, 5 Mar 2024 12:06:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709640381; cv=none; b=Im+XXq5gwVl2/iu8lF/55cPgk4iQsEbxZYJFdO54qywJPfgopQehAxBomzb/Uf6bX/dsVNzm04e98qJg/sy5lrH01EZ5AsPu3JzkaXLoXvW87ELfUg6n7b4FdR3LkeYveq4hMnSgd28kES7E0Q58cKSX85l7UYkks3ownAUj9tM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709640381; c=relaxed/simple; bh=4WuBZZkdkrzUTOsPWH5mgWOA/0ND9S0xb9dDRZVx40U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QCtGK5F374sK/BAmE5TdDMoLa27YJNBTID7zFyxBdwkdmazdQpUsmYzBvtZ9F3LwTqbYvsLUdIGe0heghQHF034dPN+XpfTyu7e7oy3eG8QoaR/8nhLgcQbrnEDLm+l+Ss5OsGFQoV785Xn7q6b2GUahFJHR4ZE9NT3n5sIQCts= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=bnBdjlTZ; arc=none smtp.client-ip=209.85.128.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="bnBdjlTZ" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-412e84e87e6so10246885e9.2 for ; Tue, 05 Mar 2024 04:06:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1709640378; x=1710245178; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0voxS6ndAZhBFb33yF2RkyYSkNVlLdcUEl396LQqgk4=; b=bnBdjlTZLZ1zUpfJs4beSBR5VxQaCjiUCSLk2QjiCUijHgwf8pjJ5EClQVvvu46btM E1jWXNS7GF+5hYuqH4pTjfdeNLd8KGxA1O5/MYhgqKx3VzdTyNl2pinpw3x6mmpeDuJm 6k5/X2AIPt4JDMiiTw2o0ZWEwhNejMmMiuuIP8FO4YVh91H11vWKI8UGnyOTLJfbfO9A qsA9npdFxPZVAHafLaqUz0ZmnEeaxmR2MarDJeBPkz8dLCXIUxl+paiqYelYZEWIhbKq p72ES0OJQg8aVk9TBklBh2arLBdcyvQqN0DIJUNNDEmLZh8m+6EzqTu7vArTjA67zIrK kAPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709640378; x=1710245178; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0voxS6ndAZhBFb33yF2RkyYSkNVlLdcUEl396LQqgk4=; b=oQO0ZLDT7wgIOvYINB1odH26JiiaigFY4lKMqsDgvPmpL8FzzlBv8wKVtCHhGd4raI od91/x2HVTloVUxOrV+2T94V5fY4afb2EPeXzMrYlHQyMQBbuJAaZHR6Z2kaD+EdcD3p 2mVAbS3VhJgcw/d1iaXOBLTZ+CKPAkFGTFueIVr8D4SOTDZsc2iBTCPg1ziOXfV9g+bk Paeh+MO6UNyfw2p0Pp8fzdEdW3mR1xRIVbDjxQ+ijNKj4GjeEz7AlC9VPDw00EVWNuUA MdKAKKgKWXeq1bRNulTApTVbl+tBijLLeqb9c3c3Y0Xv7lKVdwcwrmgM+2ifXsKTJwyM e0Dg== X-Forwarded-Encrypted: i=1; AJvYcCUf+0J3p1ibX8jsOHHqLdLGKprfcAnD6PwofT0EfARASUrAjH38Do2KEtv+gGjyaoAYqkD1btiK/sO1/C+hrvGndlV7KU5U/eA= X-Gm-Message-State: AOJu0YybbkCN+XSIdG7/gwsMb/KaDXJ+aj4Q8+YB+MSp5JiIXHrXFA0y JZVGQalo0h0LFkSLJhTeu6f041K44mXrLT4fzzAMeeYiFuVrewryOmLdH/bc5iE= X-Google-Smtp-Source: AGHT+IGEDqwScAiXOsfjPBx2YuOE2F4mbO4yuehbMh7Dl8C8Em2pvwBzMHRcZ36CBWBcMOk1OASefQ== X-Received: by 2002:a05:600c:1992:b0:411:a5f9:26f5 with SMTP id t18-20020a05600c199200b00411a5f926f5mr9600847wmq.38.1709640377856; Tue, 05 Mar 2024 04:06:17 -0800 (PST) Received: from localhost ([2001:470:6d:10f7:9114:d168:fb53:9a37]) by smtp.gmail.com with UTF8SMTPSA id g11-20020a05600c4ecb00b00412e293bee9sm6853053wmq.38.2024.03.05.04.06.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 05 Mar 2024 04:06:17 -0800 (PST) From: Martin Wilck X-Google-Original-From: Martin Wilck To: Peter Rajnoha , Zdenek Kabelac , Benjamin Marzinski , David Teigland Cc: linux-lvm@lists.linux.dev, dm-devel@lists.linux.dev, Martin Wilck , Hannes Reinecke Subject: [PATCH v2 7/7] 10-dm.rules: bump DM_UDEV_RULES_VSN to 3 Date: Tue, 5 Mar 2024 13:05:50 +0100 Message-ID: <20240305120550.11617-8-mwilck@suse.com> X-Mailer: git-send-email 2.43.2 In-Reply-To: <20240305120550.11617-1-mwilck@suse.com> References: <20240305120550.11617-1-mwilck@suse.com> Precedence: bulk X-Mailing-List: dm-devel@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Bump the rules version in order to indicate that upper level rules should consume DM_UDEV_DISABLE_OTHER_RULES_FLAG rather than DM_NOSCAN and DM_SUSPENDED. Also update the comments at the top of the file that describe the exported properties, and add a note about internal device-mapper properties. Signed-off-by: Martin Wilck --- udev/10-dm.rules.in | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/udev/10-dm.rules.in b/udev/10-dm.rules.in index fccf3bc..0fb2033 100644 --- a/udev/10-dm.rules.in +++ b/udev/10-dm.rules.in @@ -12,6 +12,9 @@ # DM_NAME - actual DM device's name # DM_UUID - UUID set for DM device (blank if not specified) # DM_UDEV_RULES_VSN - DM udev rules version +# DM_UDEV_DISABLE_OTHER_RULES_FLAG - a flag that indicates that +# stacked layers shouldn't attempt to probe the device, and +# should try to import relevant properties from the udev db. # # These rules cover only basic device-mapper functionality in udev. # @@ -22,6 +25,11 @@ # 11-dm-lvm.rules for LVM subsystem # 11-dm-mpath.rules for multipath subsystem (since version 0.6.0, recommended!) # +# 11-dm.rules may use other DM related properties besides +# those listed above, like .DM_SUSPENDED. These properties are considered +# internal to device mapper, and subject to change without notice. +# Rules that are executed after 13-dm-disk.rules shouldn't use them. +# # Even more specific rules may be required by subsystems so always # check subsystem's upstream repository for recent set of rules. # Also, keep in mind that recent rules may also require recent @@ -139,7 +147,9 @@ LABEL="dm_suspended_set" # possible future changes. # VSN 1 - original rules # VSN 2 - add support for synthesized events -ENV{DM_UDEV_RULES_VSN}="2" +# VSN 3 - use DM_UDEV_DISABLE_OTHER_RULES_FLAG as the only "API" +# to be consumed by non-dm rules. +ENV{DM_UDEV_RULES_VSN}="3" ENV{DM_UDEV_DISABLE_DM_RULES_FLAG}!="1", ENV{DM_NAME}=="?*", SYMLINK+="(DM_DIR)/$env{DM_NAME}"