]> glassweightruler.freedombox.rocks Git - waydroid.git/commitdiff
mount: Only disable overlayfs xino on kernels that support it
authorAlessandro Astone <ales.astone@gmail.com>
Thu, 19 Jan 2023 18:11:00 +0000 (19:11 +0100)
committerAlessandro Astone <ales.astone@gmail.com>
Thu, 19 Jan 2023 18:51:17 +0000 (19:51 +0100)
tools/actions/upgrader.py
tools/helpers/__init__.py
tools/helpers/mount.py
tools/helpers/version.py [new file with mode: 0644]

index 3a0dcba5e7704c5cf11c368ae8a1610e81c489d7..dcd033d3e3e0f1020bb3cce4d004adc3f6a0c279 100644 (file)
@@ -3,6 +3,7 @@
 import logging
 import os
 from tools import helpers
+from tools.helpers.version import versiontuple
 import tools.config
 import dbus
 
@@ -16,9 +17,6 @@ def get_config(args):
     args.session = None
 
 def migration(args):
-    def versiontuple(v):
-        return tuple(map(int, (v.split("."))))
-
     try:
         old_ver = tools.helpers.props.file_get(args, args.work + "/waydroid_base.prop", "waydroid.tools_version")
         if versiontuple(old_ver) <= versiontuple("1.3.4"):
index e906e9c85ac1a219d448cf76c9586f9d9fc0613d..9b62d062f32556dcc43c135d02f579d0291634a8 100644 (file)
@@ -11,3 +11,4 @@ import tools.helpers.http
 import tools.helpers.ipc
 import tools.helpers.gpu
 import tools.helpers.protocol
+import tools.helpers.version
index a0d34be5d8a8d6e1f0614ac88ae45bd7a39762d8..236ff5b4c94af98d117160bb614410e9a6d1d67b 100644 (file)
@@ -2,6 +2,7 @@
 # SPDX-License-Identifier: GPL-3.0-or-later
 import os
 import tools.helpers.run
+from tools.helpers.version import versiontuple, kernel_version
 
 
 def ismount(folder):
@@ -156,7 +157,7 @@ def mount_overlay(args, lower_dirs, destination, upper_dir=None, work_dir=None,
     Mount an overlay.
     """
     dirs = [*lower_dirs]
-    options = ["xino=off", "lowerdir=" + (":".join(lower_dirs))]
+    options = ["lowerdir=" + (":".join(lower_dirs))]
 
     if upper_dir:
         dirs.append(upper_dir)
@@ -164,6 +165,9 @@ def mount_overlay(args, lower_dirs, destination, upper_dir=None, work_dir=None,
         options.append("upperdir=" + upper_dir)
         options.append("workdir=" + work_dir)
 
+    if kernel_version() >= versiontuple("4.17"):
+        options.append("xino=off")
+
     for dir_path in dirs:
         if not os.path.exists(dir_path):
             if create_folders:
diff --git a/tools/helpers/version.py b/tools/helpers/version.py
new file mode 100644 (file)
index 0000000..d8ae449
--- /dev/null
@@ -0,0 +1,7 @@
+import os
+
+def versiontuple(v):
+    return tuple(map(int, (v.split("."))))
+
+def kernel_version():
+    return tuple(map(int, os.uname().release.split(".", 2)[:2]))