mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-22 17:35:59 +03:00
c1ce99cd81
We can't use 'DM_SBIN_PATH'. This one is set only for DM devices but not for all block devices - the pvscan is run on all relevant block devices! This LVM_SBIN_PATH (as well as DM_SBIN_PATH) detection should be removed eventually but for upstream solution, we still have to do that as there are known cases where the binaries are put either in /sbin or /usr/sbin (some installation systems, initrd systems etc.).
31 lines
1.3 KiB
Plaintext
31 lines
1.3 KiB
Plaintext
# Copyright (C) 2012 Red Hat, Inc. All rights reserved.
|
|
#
|
|
# This file is part of LVM2.
|
|
|
|
# Udev rules for LVM.
|
|
#
|
|
# Scan all block devices having a PV label for LVM metadata.
|
|
# Store this information in LVMetaD (the LVM metadata daemon) and maintain LVM
|
|
# metadata state for improved performance by avoiding further scans while
|
|
# running subsequent LVM commands or while using lvm2app library.
|
|
# Also, notify LVMetaD about any relevant block device removal.
|
|
#
|
|
# This rule is essential for having the information in LVMetaD up-to-date.
|
|
# It also requires blkid to be called on block devices before so only devices
|
|
# used as LVM PVs are processed (ID_FS_TYPE="LVM2_member" or "LVM1_member").
|
|
|
|
SUBSYSTEM!="block", GOTO="lvm_end"
|
|
|
|
# Device-mapper devices are processed only on change event or on supported synthesized event.
|
|
KERNEL=="dm-[0-9]*", ENV{DM_UDEV_RULES_VSN}!="?*", GOTO="lvm_end"
|
|
|
|
# Set proper sbin path, /sbin has higher priority than /usr/sbin.
|
|
ENV{LVM_SBIN_PATH}="/sbin"
|
|
TEST!="$env{LVM_SBIN_PATH}/lvm", ENV{LVM_SBIN_PATH}="/usr/sbin"
|
|
TEST!="$env{LVM_SBIN_PATH}/lvm", GOTO="lvm_end"
|
|
|
|
# Only process devices already marked as a PV - this requires blkid to be called before.
|
|
ENV{ID_FS_TYPE}=="LVM2_member|LVM1_member", RUN+="$env{LVM_SBIN_PATH}/lvm pvscan --cache --major $major --minor $minor"
|
|
|
|
LABEL="lvm_end"
|