From: Peter Rajnoha Date: Fri, 3 May 2013 09:01:57 +0000 (+0200) Subject: udev: add a few comments about variables used to recognize events X-Git-Tag: v2_02_99~371 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=baf9ef2047675279c72f27abeb2c328f5de2c78d;p=lvm2.git udev: add a few comments about variables used to recognize events --- diff --git a/udev/10-dm.rules.in b/udev/10-dm.rules.in index 512d156dd..3a157d538 100644 --- a/udev/10-dm.rules.in +++ b/udev/10-dm.rules.in @@ -77,11 +77,29 @@ LABEL="dm_flags_done" # before (e.g. in initrd). If udev is used in initrd, we require the udev init # script to not remove the existing udev database so we can reuse the information # stored at the time of device activation in the initrd. +# The DM_ACTIVATION variable tells when any device stacked above should be +# (re)activated as well. ACTION!="add", GOTO="dm_no_coldplug" ENV{DM_UDEV_RULES_VSN}!="1", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", GOTO="dm_disable" ENV{DM_ACTIVATION}="1" LABEL="dm_no_coldplug" +# Putting it together, following table is used to recognize genuine and spurious events. +# N.B. Spurious events are generated based on use of the WATCH udev +# rule or by triggering an event manually by "udevadm trigger" call +# or by "echo > /sys/block/dm-X/uevent". +# +# EVENT DM_UDEV_PRIMARY_SOURCE_FLAG DM_ACTIVATION +# ====================================================================== +# add event (genuine) 0 0 +# change event (genuine) 1 1 +# add event (spurious) +# |_ dev still not active 0 0 +# \_ dev already active 1 1 +# change event (spurious) +# |_ dev still not active 0 0 +# \_ dev already active 1 0 + # "dm" sysfs subdirectory is available in newer versions of DM # only (kernels >= 2.6.29). We have to check for its existence # and use dmsetup tool instead to get the DM name, uuid and