mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-22 17:35:59 +03:00
125f27ac37
The OPTIONS+="event_timeout" is Unsupported since systemd/udev version 216, that is ~5 years ago. Since systemd/udev version 243, there's a new message printed if unsupported OPTIONS value is used: Invalid value for OPTIONS key, ignoring: 'event_timeout=180' Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1740666
53 lines
2.4 KiB
Plaintext
53 lines
2.4 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, 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}=""
|
|
|
|
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"
|