From bd7fb7c3ca50b3eea2d173487f24b3006470f6df Mon Sep 17 00:00:00 2001 From: Richard Tollerton Date: Fri, 22 Aug 2014 16:30:47 -0500 Subject: udev-cache: Update cache tarball atomically Overwriting the tarball in-place could cause a partial write, if the system stops at an inopportune time. This is mitigated by first writing to a temporary file, then moving that file on top of the final location. (From OE-Core rev: 5dbf43fe32a1cf259f9379a7d2c008260eabf3ac) Signed-off-by: Richard Tollerton Signed-off-by: Ben Shelton Acked-by: Gratian Crisan Signed-off-by: Richard Purdie --- meta/recipes-core/udev/udev/udev-cache | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'meta/recipes-core/udev') diff --git a/meta/recipes-core/udev/udev/udev-cache b/meta/recipes-core/udev/udev/udev-cache index db5a513e14..c08cef2eed 100644 --- a/meta/recipes-core/udev/udev/udev-cache +++ b/meta/recipes-core/udev/udev/udev-cache @@ -16,6 +16,7 @@ export TZ=/etc/localtime [ -d /sys/class ] || exit 1 [ -f /etc/default/rcS ] && . /etc/default/rcS +DEVCACHE_TMP="/dev/shm/udev-cache-tmp.tar" [ -f /etc/default/udev-cache ] && . /etc/default/udev-cache if [ "$ROOTFS_READ_ONLY" = "yes" ]; then @@ -25,7 +26,8 @@ fi if [ "$DEVCACHE" != "" -a -e /dev/shm/udev.cache ]; then echo "Populating dev cache" - (cd /; tar cf "$DEVCACHE" dev) + (cd /; tar cf "${DEVCACHE_TMP}" dev) + mv -f "${DEVCACHE_TMP}" "$DEVCACHE" mv /dev/shm/udev.cache /etc/udev/cache.data fi -- cgit v1.2.3-54-g00ecf