summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-03-17 19:09:43 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-03-17 19:09:43 +0000
commitdb0a51c50a6cd698fdd7fbe16dc3af278aaff932 (patch)
tree0f18c49eef42529ad2c2c5666e29290d5297903a
parentac2c331815fb3314e9b3814314286b31d370e215 (diff)
base-files: overlayfs whiteouts depend on a specific xattr entry, which does not get preserved by the tmpfs->overlay copy. work around this by cleaning all copied "(overlay-whiteout)" symlinks after the switch to jffs2
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26208 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/base-files/files/lib/firstboot/99_10_with_fo_cleanup12
1 files changed, 12 insertions, 0 deletions
diff --git a/package/base-files/files/lib/firstboot/99_10_with_fo_cleanup b/package/base-files/files/lib/firstboot/99_10_with_fo_cleanup
index 0833954e5..0181b39d4 100644
--- a/package/base-files/files/lib/firstboot/99_10_with_fo_cleanup
+++ b/package/base-files/files/lib/firstboot/99_10_with_fo_cleanup
@@ -7,6 +7,18 @@ with_fo_cleanup() {
# try to get rid of /tmp/root
# this will almost always fail
umount /tmp/root 2>&-
+ grep -q overlay /proc/filesystems && {
+ cd /
+ (
+ cd /overlay
+ find -type l
+ ) | while read FILE; do
+ [ -z "$FILE" ] && break
+ if ls -la "$FILE" 2>&- | grep -q '(overlay-whiteout)'; then
+ rm -f "$FILE"
+ fi
+ done
+ }
exit 0
}