1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-22 17:35:59 +03:00
lvm2/udev/69-dm-lvm-metad.rules
Peter Rajnoha 32c84c8f3d Add skeleton for lvmetad udev rules - 69-dm-lvm-metad.rules.
Why using the order 69:

  - Storage processing in general happens in 60-persistent-storage.rules,
    including the blkid call that adds some usable information we can use
    for filtering and speedup (these rules are part of upstream udev and
    the order is preserved on most distros)

  - There's still some other storage-related processing done after
    60-persistent-storage.rules in general. These might add some detailed
    storage-related information we might use to filter devices effectively
    (e.g. MD udev rules, ...).

  - We need lvmetad rules to be processed before any consumers can use the
    output - so the metadata cache is ready soon enough (e.g. udisks rules).

  - There's no official (upstream udev) document about assigning the order,
    so this number is chosen in best belief it will suit all scenarios.
2012-02-24 09:53:12 +00:00

26 lines
1.1 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"
# 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{DM_SBIN_PATH}/pvscan --lvmetad $major:$minor"
LABEL="lvm_end"