Change in vdsm[master]: lvm: Remove duplication in udev rules
nsoffer at redhat.com
nsoffer at redhat.com
Sat Mar 28 18:29:35 UTC 2015
Nir Soffer has uploaded a new change for review.
Change subject: lvm: Remove duplication in udev rules
......................................................................
lvm: Remove duplication in udev rules
The horrible uuid pattern was repeated 5 times, making the source
unreadable. Now we build the udev patterns once, and use the built
patterns to format the final output.
Change-Id: Id259071c8c2c8e059308377823081e6b307ccbe0
Signed-off-by: Nir Soffer <nsoffer at redhat.com>
---
M vdsm/storage/vdsm_lvm_rules.template.in
1 file changed, 21 insertions(+), 6 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/09/39309/1
diff --git a/vdsm/storage/vdsm_lvm_rules.template.in b/vdsm/storage/vdsm_lvm_rules.template.in
index d73c0c6..045d523 100644
--- a/vdsm/storage/vdsm_lvm_rules.template.in
+++ b/vdsm/storage/vdsm_lvm_rules.template.in
@@ -11,8 +11,21 @@
"""
import sys
-write = sys.stdout.write
enable_chown_hack = "@CHOWN_HACK@"
+
+env = {
+ "uuid": "-".join(("[a-f0-9]" * 8,
+ "[a-f0-9]" * 4,
+ "[a-f0-9]" * 4,
+ "[a-f0-9]" * 4,
+ "[a-f0-9]" * 12)),
+ "temp": "[a-zA-Z0-9]" * 8,
+}
+
+
+def write(fmt):
+ sys.stdout.write(fmt % env)
+
write("""\
#
@@ -30,7 +43,7 @@
ACTION!="add|change", GOTO="lvm_end"
# Filter out vgs which do not look like a vdsm vg
-ENV{DM_VG_NAME}!="[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]", GOTO="lvm_end"
+ENV{DM_VG_NAME}!="%(uuid)s", GOTO="lvm_end"
# Volumes used as vdsm images
""")
@@ -40,18 +53,20 @@
# WARNING: we cannot use OWNER, GROUP and MODE since using any of them will
# change the selinux label to the default, causing vms to pause after extending
# disks. https://bugzilla.redhat.com/1147910
-ENV{DM_LV_NAME}=="[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]", RUN+="@CHOWN_PATH@ @VDSMUSER@:@QEMUGROUP@ $env{DEVNAME}", GOTO="lvm_end"
+ENV{DM_LV_NAME}=="%(uuid)s", RUN+="@CHOWN_PATH@ @VDSMUSER@:@QEMUGROUP@ $env{DEVNAME}", GOTO="lvm_end"
""")
else:
write("""\
-ENV{DM_LV_NAME}=="[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]", OWNER:="@VDSMUSER@", GROUP:="@QEMUGROUP@", GOTO="lvm_end"
+ENV{DM_LV_NAME}=="%(uuid)s", OWNER:="@VDSMUSER@", GROUP:="@QEMUGROUP@", GOTO="lvm_end"
""")
write("""\
# Temporary volumes - not accessed by libvirt/qemu
-ENV{DM_LV_NAME}=="[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]_MERGE", OWNER:="@VDSMUSER@", GROUP:="@QEMUGROUP@", GOTO="lvm_end"
-ENV{DM_LV_NAME}=="_remove_me_[a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9]_[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]", OWNER:="@VDSMUSER@", GROUP:="@QEMUGROUP@", GOTO="lvm_end"
+ENV{DM_LV_NAME}=="%(uuid)s_MERGE", OWNER:="@VDSMUSER@", GROUP:="@QEMUGROUP@", GOTO="lvm_end"
+
+# Deleted volumes
+ENV{DM_LV_NAME}=="_remove_me_%(temp)s_%(uuid)s", OWNER:="@VDSMUSER@", GROUP:="@QEMUGROUP@", GOTO="lvm_end"
# Special volumes used by vdsm
ENV{DM_LV_NAME}=="metadata|inbox|outbox", MODE:="0600", OWNER:="@VDSMUSER@", GROUP:="@QEMUGROUP@", GOTO="lvm_end"
--
To view, visit https://gerrit.ovirt.org/39309
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id259071c8c2c8e059308377823081e6b307ccbe0
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Nir Soffer <nsoffer at redhat.com>
More information about the vdsm-patches
mailing list