|
@@ -31,8 +31,13 @@ if [ "$1" = "start" ] ; then
|
|
|
if [ `is_on_read_only_partition /var/lib` = "yes" ]; then
|
|
|
grep -q "tmpfs /var/volatile" /proc/mounts || mount /var/volatile
|
|
|
mkdir -p /var/volatile/lib
|
|
|
- cp -a /var/lib/* /var/volatile/lib
|
|
|
- mount --bind /var/volatile/lib /var/lib
|
|
|
+ mkdir -p /var/volatile/.lib-work
|
|
|
+ # Try to mount using overlay, which is much faster than copying
|
|
|
+ # files. If that fails, fallback to the slower copy
|
|
|
+ if ! mount -t overlay overlay -olowerdir=/var/lib,upperdir=/var/volatile/lib,workdir=/var/volatile/.lib-work /var/lib > /dev/null 2>&1; then
|
|
|
+ cp -a /var/lib/* /var/volatile/lib
|
|
|
+ mount --bind /var/volatile/lib /var/lib
|
|
|
+ fi
|
|
|
fi
|
|
|
fi
|
|
|
|