1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-10-27 10:25:13 +03:00

Update udev rules to skip DM flags decoding for removed devices

Skip decoding of DM flags when device is removed.

We currently need DM flags only for add|change events. So forking
dmsetup process for removed devices is a waste of CPU time.

Udev is already quite slow, so make it just a tiny bit faster.
This commit is contained in:
Zdenek Kabelac 2011-08-11 17:55:29 +00:00
parent cf98c05082
commit 85ee8e10db
2 changed files with 7 additions and 6 deletions

View File

@ -1,5 +1,6 @@
Version 2.02.87 -
===============================
Update udev rules to skip DM flags decoding for removed devices.
Add detect_internal_vg_cache_corruption to lvm.conf, disabled by default.
Use memory pool locking to check for corruption of internal VG structs.
Cache and share generated VG structs.

View File

@ -24,12 +24,6 @@ ENV{DM_SBIN_PATH}="/sbin"
TEST!="$env{DM_SBIN_PATH}/dmsetup", ENV{DM_SBIN_PATH}="/usr/sbin"
TEST!="$env{DM_SBIN_PATH}/dmsetup", GOTO="dm_end"
# Decode udev control flags and set environment variables appropriately.
# These flags are encoded in DM_COOKIE variable that was introduced in
# kernel version 2.6.31. Therefore, we can use this feature with
# kernels >= 2.6.31 only.
ENV{DM_COOKIE}=="?*", IMPORT{program}="$env{DM_SBIN_PATH}/dmsetup udevflags $env{DM_COOKIE}"
# Device created, major and minor number assigned - "add" event generated.
# Table loaded - no event generated.
# Device resumed (or renamed) - "change" event generated.
@ -42,6 +36,12 @@ ENV{DM_COOKIE}=="?*", IMPORT{program}="$env{DM_SBIN_PATH}/dmsetup udevflags $env
# is not recommended.
ACTION!="add|change", GOTO="dm_end"
# Decode udev control flags and set environment variables appropriately.
# These flags are encoded in DM_COOKIE variable that was introduced in
# kernel version 2.6.31. Therefore, we can use this feature with
# kernels >= 2.6.31 only. Cookie is not decoded for remove event.
ENV{DM_COOKIE}=="?*", IMPORT{program}="$env{DM_SBIN_PATH}/dmsetup udevflags $env{DM_COOKIE}"
# Rule out easy-to-detect inappropriate events first.
ENV{DISK_RO}=="1", GOTO="dm_disable"