[oe] [PATCH] udev: also use /proc/devices to invalidate devcache
Denys Dmytriyenko
denis at denix.org
Fri Feb 11 19:35:31 UTC 2011
From: Denys Dmytriyenko <denys at ti.com>
* Besides checking for kernel version, bootargs or cmdline changes between
reboots, also consider changes in /proc/devices to invalidate device cache.
Signed-off-by: Denys Dmytriyenko <denys at ti.com>
---
recipes/udev/udev-141/cache | 2 ++
recipes/udev/udev-141/init | 2 ++
recipes/udev/udev-151/cache | 2 ++
recipes/udev/udev-151/init | 2 ++
recipes/udev/udev-154/cache | 2 ++
recipes/udev/udev-154/init | 2 ++
recipes/udev/udev-162/cache | 2 ++
recipes/udev/udev-162/init | 2 ++
recipes/udev/udev-165/cache | 2 ++
recipes/udev/udev-165/init | 2 ++
recipes/udev/udev_141.bb | 3 ++-
recipes/udev/udev_151.bb | 3 ++-
recipes/udev/udev_154.bb | 3 ++-
recipes/udev/udev_162.bb | 3 ++-
recipes/udev/udev_165.bb | 3 ++-
15 files changed, 30 insertions(+), 5 deletions(-)
diff --git a/recipes/udev/udev-141/cache b/recipes/udev/udev-141/cache
index c0d400b..6936170 100644
--- a/recipes/udev/udev-141/cache
+++ b/recipes/udev/udev-141/cache
@@ -11,11 +11,13 @@ if [ "$DEVCACHE" != "" ]; then
(cd /; tar cf $DEVCACHE dev)
mv /tmp/uname /etc/udev/saved.uname
mv /tmp/cmdline /etc/udev/saved.cmdline
+ mv /tmp/devices /etc/udev/saved.devices
mv /tmp/atags /etc/udev/saved.atags
echo
else
rm -f /tmp/uname
rm -f /tmp/cmdline
+ rm -f /tmp/devices
rm -f /tmp/atags
fi
diff --git a/recipes/udev/udev-141/init b/recipes/udev/udev-141/init
index 4dcb241..c0ecdfc 100644
--- a/recipes/udev/udev-141/init
+++ b/recipes/udev/udev-141/init
@@ -39,10 +39,12 @@ if [ "$DEVCACHE" != "" ]; then
# Invalidate udev cache if the kernel or its bootargs/cmdline have changed
[ -x /bin/uname ] && /bin/uname -mrspv > /tmp/uname || touch /tmp/uname
[ -r /proc/cmdline ] && cat /proc/cmdline > /tmp/cmdline || touch /tmp/cmdline
+ [ -r /proc/devices ] && cat /proc/devices > /tmp/devices || touch /tmp/devices
[ -r /proc/atags ] && cat /proc/atags > /tmp/atags || touch /tmp/atags
if [ -e $DEVCACHE ] && \
cmp -s /tmp/uname /etc/udev/saved.uname && \
cmp -s /tmp/cmdline /etc/udev/saved.cmdline && \
+ cmp -s /tmp/devices /etc/udev/saved.devices && \
cmp -s /tmp/atags /etc/udev/saved.atags; then
(cd /; tar xf $DEVCACHE > /dev/null 2>&1)
not_first_boot=1
diff --git a/recipes/udev/udev-151/cache b/recipes/udev/udev-151/cache
index c0d400b..6936170 100644
--- a/recipes/udev/udev-151/cache
+++ b/recipes/udev/udev-151/cache
@@ -11,11 +11,13 @@ if [ "$DEVCACHE" != "" ]; then
(cd /; tar cf $DEVCACHE dev)
mv /tmp/uname /etc/udev/saved.uname
mv /tmp/cmdline /etc/udev/saved.cmdline
+ mv /tmp/devices /etc/udev/saved.devices
mv /tmp/atags /etc/udev/saved.atags
echo
else
rm -f /tmp/uname
rm -f /tmp/cmdline
+ rm -f /tmp/devices
rm -f /tmp/atags
fi
diff --git a/recipes/udev/udev-151/init b/recipes/udev/udev-151/init
index 4dcb241..c0ecdfc 100644
--- a/recipes/udev/udev-151/init
+++ b/recipes/udev/udev-151/init
@@ -39,10 +39,12 @@ if [ "$DEVCACHE" != "" ]; then
# Invalidate udev cache if the kernel or its bootargs/cmdline have changed
[ -x /bin/uname ] && /bin/uname -mrspv > /tmp/uname || touch /tmp/uname
[ -r /proc/cmdline ] && cat /proc/cmdline > /tmp/cmdline || touch /tmp/cmdline
+ [ -r /proc/devices ] && cat /proc/devices > /tmp/devices || touch /tmp/devices
[ -r /proc/atags ] && cat /proc/atags > /tmp/atags || touch /tmp/atags
if [ -e $DEVCACHE ] && \
cmp -s /tmp/uname /etc/udev/saved.uname && \
cmp -s /tmp/cmdline /etc/udev/saved.cmdline && \
+ cmp -s /tmp/devices /etc/udev/saved.devices && \
cmp -s /tmp/atags /etc/udev/saved.atags; then
(cd /; tar xf $DEVCACHE > /dev/null 2>&1)
not_first_boot=1
diff --git a/recipes/udev/udev-154/cache b/recipes/udev/udev-154/cache
index c0d400b..6936170 100644
--- a/recipes/udev/udev-154/cache
+++ b/recipes/udev/udev-154/cache
@@ -11,11 +11,13 @@ if [ "$DEVCACHE" != "" ]; then
(cd /; tar cf $DEVCACHE dev)
mv /tmp/uname /etc/udev/saved.uname
mv /tmp/cmdline /etc/udev/saved.cmdline
+ mv /tmp/devices /etc/udev/saved.devices
mv /tmp/atags /etc/udev/saved.atags
echo
else
rm -f /tmp/uname
rm -f /tmp/cmdline
+ rm -f /tmp/devices
rm -f /tmp/atags
fi
diff --git a/recipes/udev/udev-154/init b/recipes/udev/udev-154/init
index 4dcb241..c0ecdfc 100644
--- a/recipes/udev/udev-154/init
+++ b/recipes/udev/udev-154/init
@@ -39,10 +39,12 @@ if [ "$DEVCACHE" != "" ]; then
# Invalidate udev cache if the kernel or its bootargs/cmdline have changed
[ -x /bin/uname ] && /bin/uname -mrspv > /tmp/uname || touch /tmp/uname
[ -r /proc/cmdline ] && cat /proc/cmdline > /tmp/cmdline || touch /tmp/cmdline
+ [ -r /proc/devices ] && cat /proc/devices > /tmp/devices || touch /tmp/devices
[ -r /proc/atags ] && cat /proc/atags > /tmp/atags || touch /tmp/atags
if [ -e $DEVCACHE ] && \
cmp -s /tmp/uname /etc/udev/saved.uname && \
cmp -s /tmp/cmdline /etc/udev/saved.cmdline && \
+ cmp -s /tmp/devices /etc/udev/saved.devices && \
cmp -s /tmp/atags /etc/udev/saved.atags; then
(cd /; tar xf $DEVCACHE > /dev/null 2>&1)
not_first_boot=1
diff --git a/recipes/udev/udev-162/cache b/recipes/udev/udev-162/cache
index c0d400b..6936170 100644
--- a/recipes/udev/udev-162/cache
+++ b/recipes/udev/udev-162/cache
@@ -11,11 +11,13 @@ if [ "$DEVCACHE" != "" ]; then
(cd /; tar cf $DEVCACHE dev)
mv /tmp/uname /etc/udev/saved.uname
mv /tmp/cmdline /etc/udev/saved.cmdline
+ mv /tmp/devices /etc/udev/saved.devices
mv /tmp/atags /etc/udev/saved.atags
echo
else
rm -f /tmp/uname
rm -f /tmp/cmdline
+ rm -f /tmp/devices
rm -f /tmp/atags
fi
diff --git a/recipes/udev/udev-162/init b/recipes/udev/udev-162/init
index 4dcb241..c0ecdfc 100644
--- a/recipes/udev/udev-162/init
+++ b/recipes/udev/udev-162/init
@@ -39,10 +39,12 @@ if [ "$DEVCACHE" != "" ]; then
# Invalidate udev cache if the kernel or its bootargs/cmdline have changed
[ -x /bin/uname ] && /bin/uname -mrspv > /tmp/uname || touch /tmp/uname
[ -r /proc/cmdline ] && cat /proc/cmdline > /tmp/cmdline || touch /tmp/cmdline
+ [ -r /proc/devices ] && cat /proc/devices > /tmp/devices || touch /tmp/devices
[ -r /proc/atags ] && cat /proc/atags > /tmp/atags || touch /tmp/atags
if [ -e $DEVCACHE ] && \
cmp -s /tmp/uname /etc/udev/saved.uname && \
cmp -s /tmp/cmdline /etc/udev/saved.cmdline && \
+ cmp -s /tmp/devices /etc/udev/saved.devices && \
cmp -s /tmp/atags /etc/udev/saved.atags; then
(cd /; tar xf $DEVCACHE > /dev/null 2>&1)
not_first_boot=1
diff --git a/recipes/udev/udev-165/cache b/recipes/udev/udev-165/cache
index c0d400b..6936170 100644
--- a/recipes/udev/udev-165/cache
+++ b/recipes/udev/udev-165/cache
@@ -11,11 +11,13 @@ if [ "$DEVCACHE" != "" ]; then
(cd /; tar cf $DEVCACHE dev)
mv /tmp/uname /etc/udev/saved.uname
mv /tmp/cmdline /etc/udev/saved.cmdline
+ mv /tmp/devices /etc/udev/saved.devices
mv /tmp/atags /etc/udev/saved.atags
echo
else
rm -f /tmp/uname
rm -f /tmp/cmdline
+ rm -f /tmp/devices
rm -f /tmp/atags
fi
diff --git a/recipes/udev/udev-165/init b/recipes/udev/udev-165/init
index 4dcb241..c0ecdfc 100644
--- a/recipes/udev/udev-165/init
+++ b/recipes/udev/udev-165/init
@@ -39,10 +39,12 @@ if [ "$DEVCACHE" != "" ]; then
# Invalidate udev cache if the kernel or its bootargs/cmdline have changed
[ -x /bin/uname ] && /bin/uname -mrspv > /tmp/uname || touch /tmp/uname
[ -r /proc/cmdline ] && cat /proc/cmdline > /tmp/cmdline || touch /tmp/cmdline
+ [ -r /proc/devices ] && cat /proc/devices > /tmp/devices || touch /tmp/devices
[ -r /proc/atags ] && cat /proc/atags > /tmp/atags || touch /tmp/atags
if [ -e $DEVCACHE ] && \
cmp -s /tmp/uname /etc/udev/saved.uname && \
cmp -s /tmp/cmdline /etc/udev/saved.cmdline && \
+ cmp -s /tmp/devices /etc/udev/saved.devices && \
cmp -s /tmp/atags /etc/udev/saved.atags; then
(cd /; tar xf $DEVCACHE > /dev/null 2>&1)
not_first_boot=1
diff --git a/recipes/udev/udev_141.bb b/recipes/udev/udev_141.bb
index 80b7cc7..9a0a7be 100644
--- a/recipes/udev/udev_141.bb
+++ b/recipes/udev/udev_141.bb
@@ -7,7 +7,7 @@ DEFAULT_PREFERENCE = "-1"
require udev.inc
-PR = "${INC_PR}.5"
+PR = "${INC_PR}.6"
SRC_URI += "file://mount.blacklist \
file://run.rules \
@@ -73,6 +73,7 @@ do_install () {
touch ${D}${sysconfdir}/udev/saved.uname
touch ${D}${sysconfdir}/udev/saved.cmdline
+ touch ${D}${sysconfdir}/udev/saved.devices
touch ${D}${sysconfdir}/udev/saved.atags
install -d ${D}${sysconfdir}/udev/scripts/
diff --git a/recipes/udev/udev_151.bb b/recipes/udev/udev_151.bb
index 32ab909..393fcc7 100644
--- a/recipes/udev/udev_151.bb
+++ b/recipes/udev/udev_151.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "udev is a daemon which dynamically creates and removes device nod
the hotplug package and requires a kernel not older than 2.6.12."
LICENSE = "GPLv2+"
-PR = "r23"
+PR = "r24"
# Untested
DEFAULT_PREFERENCE = "-1"
@@ -135,6 +135,7 @@ do_install () {
touch ${D}${sysconfdir}/udev/saved.uname
touch ${D}${sysconfdir}/udev/saved.cmdline
+ touch ${D}${sysconfdir}/udev/saved.devices
touch ${D}${sysconfdir}/udev/saved.atags
install -d ${D}${sysconfdir}/udev/scripts/
diff --git a/recipes/udev/udev_154.bb b/recipes/udev/udev_154.bb
index 4a358d3..44d7b13 100644
--- a/recipes/udev/udev_154.bb
+++ b/recipes/udev/udev_154.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "udev is a daemon which dynamically creates and removes device nod
the hotplug package and requires a kernel not older than 2.6.12."
LICENSE = "GPLv2+"
-PR = "r7"
+PR = "r8"
# Untested
DEFAULT_PREFERENCE = "-1"
@@ -128,6 +128,7 @@ do_install () {
touch ${D}${sysconfdir}/udev/saved.uname
touch ${D}${sysconfdir}/udev/saved.cmdline
+ touch ${D}${sysconfdir}/udev/saved.devices
touch ${D}${sysconfdir}/udev/saved.atags
install -d ${D}${sysconfdir}/udev/scripts/
diff --git a/recipes/udev/udev_162.bb b/recipes/udev/udev_162.bb
index e344065..8f23f08 100644
--- a/recipes/udev/udev_162.bb
+++ b/recipes/udev/udev_162.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "udev is a daemon which dynamically creates and removes device nod
the hotplug package and requires a kernel not older than 2.6.12."
LICENSE = "GPLv2+"
-PR = "r10"
+PR = "r11"
# Untested
#DEFAULT_PREFERENCE = "-1"
@@ -140,6 +140,7 @@ do_install () {
touch ${D}${sysconfdir}/udev/saved.uname
touch ${D}${sysconfdir}/udev/saved.cmdline
+ touch ${D}${sysconfdir}/udev/saved.devices
touch ${D}${sysconfdir}/udev/saved.atags
install -d ${D}${sysconfdir}/udev/scripts/
diff --git a/recipes/udev/udev_165.bb b/recipes/udev/udev_165.bb
index 55eccb0..1f57a46 100644
--- a/recipes/udev/udev_165.bb
+++ b/recipes/udev/udev_165.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "udev is a daemon which dynamically creates and removes device nod
the hotplug package and requires a kernel not older than 2.6.12."
LICENSE = "GPLv2+"
-PR = "r1"
+PR = "r2"
# Untested
DEFAULT_PREFERENCE = "-1"
@@ -137,6 +137,7 @@ do_install () {
touch ${D}${sysconfdir}/udev/saved.uname
touch ${D}${sysconfdir}/udev/saved.cmdline
+ touch ${D}${sysconfdir}/udev/saved.devices
touch ${D}${sysconfdir}/udev/saved.atags
install -d ${D}${sysconfdir}/udev/scripts/
--
1.7.0.4
More information about the Openembedded-devel
mailing list