mirror of
https://git.yoctoproject.org/poky
synced 2026-05-09 05:29:32 +00:00
udev-cache: invalidate on rules.d changes
Presently, the cache is not regenerated if udev rules are modified, which may cause the cache to preserve an old configuration. To fix, include the size, mtime, and filename of all udev rules in the system configuration. This change requires `stat`. If busybox supplies stat, CONFIG_FEATURE_STAT_FORMAT must be enabled. (From OE-Core rev: 8847e33b12171a21b7c7e1241198080ad9ef9284) Signed-off-by: Richard Tollerton <rich.tollerton@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
7c522ced96
commit
88c184a9bf
@@ -22,9 +22,14 @@ DEVCACHE_REGEN="/dev/shm/udev-regen" # create to request cache regen
|
||||
CMP_FILE_LIST="/proc/version /proc/cmdline /proc/devices"
|
||||
[ -f /proc/atags ] && CMP_FILE_LIST="$CMP_FILE_LIST /proc/atags"
|
||||
|
||||
# List of files whose metadata (size/mtime/name) will be included in cached
|
||||
# system state.
|
||||
META_FILE_LIST="lib/udev/rules.d/* etc/udev/rules.d/*"
|
||||
|
||||
# Command to compute system configuration.
|
||||
sysconf_cmd () {
|
||||
cat -- $CMP_FILE_LIST
|
||||
stat -L -c '%s %Y %n' -- $META_FILE_LIST | awk -F/ '{print $1 " " $NF;}'
|
||||
}
|
||||
|
||||
[ -f /etc/default/udev-cache ] && . /etc/default/udev-cache
|
||||
@@ -76,6 +81,7 @@ case "$1" in
|
||||
cat <<EOF
|
||||
udev: Not using udev cache because of changes detected in the following files:
|
||||
udev: $CMP_FILE_LIST
|
||||
udev: $META_FILE_LIST
|
||||
udev: The udev cache will be regenerated. To identify the detected changes,
|
||||
udev: compare the cached sysconf at $SYSCONF_CACHED
|
||||
udev: against the current sysconf at $SYSCONF_TMP
|
||||
|
||||
@@ -25,9 +25,14 @@ DEVCACHE_REGEN="/dev/shm/udev-regen" # create to request cache regen
|
||||
CMP_FILE_LIST="/proc/version /proc/cmdline /proc/devices"
|
||||
[ -f /proc/atags ] && CMP_FILE_LIST="$CMP_FILE_LIST /proc/atags"
|
||||
|
||||
# List of files whose metadata (size/mtime/name) will be included in cached
|
||||
# system state.
|
||||
META_FILE_LIST="lib/udev/rules.d/* etc/udev/rules.d/*"
|
||||
|
||||
# Command to compute system configuration.
|
||||
sysconf_cmd () {
|
||||
cat -- $CMP_FILE_LIST
|
||||
stat -L -c '%s %Y %n' -- $META_FILE_LIST | awk -F/ '{print $1 " " $NF;}'
|
||||
}
|
||||
|
||||
[ -f /etc/default/udev-cache ] && . /etc/default/udev-cache
|
||||
|
||||
Reference in New Issue
Block a user