metacopy=on is supported on Linux 4.19+. Add fallback for older kernels.

Signed-off-by: Matthias Schiffer <[email protected]>
---
 projectroot/usr/lib/systemd/system/var.mount | 1 -
 projectroot/usr/sbin/mount.varoverlayfs      | 4 +++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/projectroot/usr/lib/systemd/system/var.mount 
b/projectroot/usr/lib/systemd/system/var.mount
index bd6350237..3b686a260 100644
--- a/projectroot/usr/lib/systemd/system/var.mount
+++ b/projectroot/usr/lib/systemd/system/var.mount
@@ -8,4 +8,3 @@ Where=/var
 # note: this is a dummy filesystem only to trigger the corresponding mount 
helper
 What=varoverlayfs
 Type=varoverlayfs
-Options=metacopy=on
diff --git a/projectroot/usr/sbin/mount.varoverlayfs 
b/projectroot/usr/sbin/mount.varoverlayfs
index 913004d15..efab16aef 100644
--- a/projectroot/usr/sbin/mount.varoverlayfs
+++ b/projectroot/usr/sbin/mount.varoverlayfs
@@ -8,6 +8,8 @@ set -e
 systemctl start run-varoverlayfs.mount
 mkdir -p /run/varoverlayfs/upper
 mkdir -p /run/varoverlayfs/work
-mount -t overlay 
-olowerdir=/var,upperdir=/run/varoverlayfs/upper,workdir=/run/varoverlayfs/work 
"${@}"
+# metacopy=on is supported on Linux 4.19+, fall back on older kernels
+mount -t overlay 
-olowerdir=/var,upperdir=/run/varoverlayfs/upper,workdir=/run/varoverlayfs/work,metacopy=on
 "${@}" ||
+       mount -t overlay 
-olowerdir=/var,upperdir=/run/varoverlayfs/upper,workdir=/run/varoverlayfs/work 
"${@}"
 systemctl stop run-varoverlayfs.mount
 rmdir /run/varoverlayfs
-- 
2.17.1


_______________________________________________
ptxdist mailing list
[email protected]

Reply via email to