mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-18 10:04:20 +03:00
a196752969
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 <mwilck@suse.com> Reviewed-by: Peter Rajnoha <prajnoha@redhat.com>
50 lines
1.9 KiB
Plaintext
50 lines
1.9 KiB
Plaintext
# Copyright (C) 2009 Red Hat, Inc. All rights reserved.
|
|
#
|
|
# This file is part of LVM2.
|
|
|
|
# Udev rules for LVM.
|
|
#
|
|
# These rules create symlinks for LVM logical volumes in
|
|
# /dev/VG directory (VG is an actual VG name). Some udev
|
|
# environment variables are set (they can be used in later
|
|
# rules as well):
|
|
# DM_LV_NAME - logical volume name
|
|
# DM_VG_NAME - volume group name
|
|
# DM_LV_LAYER - logical volume layer (blank if not set)
|
|
|
|
# "add" event is processed on coldplug only!
|
|
ACTION!="add|change", GOTO="lvm_end"
|
|
ENV{DM_UDEV_RULES_VSN}!="?*", GOTO="lvm_end"
|
|
ENV{DM_UUID}!="LVM-?*", GOTO="lvm_end"
|
|
|
|
# Use DM name and split it up into its VG/LV/layer constituents.
|
|
IMPORT{program}="(DM_EXEC)/dmsetup splitname --nameprefixes --noheadings --rows $env{DM_NAME}"
|
|
|
|
# DM_SUBSYSTEM_UDEV_FLAG0 is the 'NOSCAN' flag for LVM subsystem.
|
|
# This flag is used to temporarily disable selected rules to prevent any
|
|
# processing or scanning done on the LVM volume before LVM has any chance
|
|
# 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, 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"
|
|
|
|
# Do not create symlinks for inappropriate subdevices.
|
|
ENV{DM_LV_NAME}=="pvmove?*|?*_vorigin", GOTO="lvm_disable"
|
|
ENV{DM_LV_LAYER}=="?*", GOTO="lvm_disable"
|
|
|
|
# Create symlinks for top-level devices only.
|
|
ENV{DM_VG_NAME}=="?*", ENV{DM_LV_NAME}=="?*", SYMLINK+="$env{DM_VG_NAME}/$env{DM_LV_NAME}", GOTO="lvm_end"
|
|
|
|
LABEL="lvm_disable"
|
|
ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}="1"
|
|
ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="1"
|
|
OPTIONS:="nowatch"
|
|
|
|
LABEL="lvm_end"
|