From: uvv.mail@gmail.com
To: openembedded-core@lists.openembedded.org
Cc: Vyacheslav Yurkov <uvv.mail@gmail.com>
Subject: [PATCH v2 3/4] overlayfs: Remove helper unit
Date: Wed, 24 Dec 2025 14:16:57 +0000 [thread overview]
Message-ID: <20251224141659.2218381-3-uvv.mail@gmail.com> (raw)
In-Reply-To: <20251224141659.2218381-1-uvv.mail@gmail.com>
From: Vyacheslav Yurkov <uvv.mail@gmail.com>
Since systemd v256 workdir and upperdir are automatically created if
they don't exist, so we don't need an additional helper unit anymore.
Ref: https://github.com/systemd/systemd/commit/6c75eff6afd90596d09a33a9275be292db4e3380
Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com>
---
meta/classes-recipe/overlayfs.bbclass | 10 ----------
meta/classes-recipe/rootfs-postcommands.bbclass | 13 +------------
meta/files/overlayfs-create-dirs.service.in | 13 -------------
meta/files/overlayfs-create-dirs.sh | 11 -----------
meta/files/overlayfs-unit.mount.in | 3 +--
meta/lib/oe/overlayfs.py | 4 ----
6 files changed, 2 insertions(+), 52 deletions(-)
delete mode 100644 meta/files/overlayfs-create-dirs.service.in
delete mode 100644 meta/files/overlayfs-create-dirs.sh
diff --git a/meta/classes-recipe/overlayfs.bbclass b/meta/classes-recipe/overlayfs.bbclass
index a82763ec10..07cc68ad7b 100644
--- a/meta/classes-recipe/overlayfs.bbclass
+++ b/meta/classes-recipe/overlayfs.bbclass
@@ -55,27 +55,21 @@ REQUIRED_DISTRO_FEATURES += "systemd overlayfs"
inherit systemd features_check
-OVERLAYFS_CREATE_DIRS_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-create-dirs.service.in"
OVERLAYFS_MOUNT_UNIT_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-unit.mount.in"
OVERLAYFS_ALL_OVERLAYS_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-all-overlays.service.in"
python do_create_overlayfs_units() {
from oe.overlayfs import mountUnitName
- with open(d.getVar("OVERLAYFS_CREATE_DIRS_TEMPLATE"), "r") as f:
- CreateDirsUnitTemplate = f.read()
with open(d.getVar("OVERLAYFS_MOUNT_UNIT_TEMPLATE"), "r") as f:
MountUnitTemplate = f.read()
with open(d.getVar("OVERLAYFS_ALL_OVERLAYS_TEMPLATE"), "r") as f:
AllOverlaysTemplate = f.read()
def prepareUnits(data, lower):
- from oe.overlayfs import helperUnitName
-
args = {
'DATA_MOUNT_POINT': data,
'DATA_MOUNT_UNIT': mountUnitName(data),
- 'CREATE_DIRS_SERVICE': helperUnitName(lower),
'LOWERDIR': lower,
}
@@ -83,10 +77,6 @@ python do_create_overlayfs_units() {
with open(os.path.join(d.getVar('WORKDIR'), mountUnitName(lower)), 'w') as f:
f.write(MountUnitTemplate.format(**args))
- bb.debug(1, "Generate helper systemd unit %s" % helperUnitName(lower))
- with open(os.path.join(d.getVar('WORKDIR'), helperUnitName(lower)), 'w') as f:
- f.write(CreateDirsUnitTemplate.format(**args))
-
def prepareGlobalUnit(dependentUnits):
from oe.overlayfs import allOverlaysUnitName
args = {
diff --git a/meta/classes-recipe/rootfs-postcommands.bbclass b/meta/classes-recipe/rootfs-postcommands.bbclass
index 2a36840f29..f0c7ee658d 100644
--- a/meta/classes-recipe/rootfs-postcommands.bbclass
+++ b/meta/classes-recipe/rootfs-postcommands.bbclass
@@ -47,7 +47,7 @@ ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "systemd"
ROOTFS_POSTPROCESS_COMMAND += 'empty_var_volatile'
-ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs_qa_check overlayfs_postprocess", "", d)}'
+ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs_qa_check", "", d)}'
inherit image-artifact-names
@@ -570,14 +570,3 @@ python overlayfs_qa_check() {
if not allUnitExist:
bb.fatal('Not all mount paths and units are installed in the image')
}
-
-python overlayfs_postprocess() {
- import shutil
-
- # install helper script
- helperScriptName = "overlayfs-create-dirs.sh"
- helperScriptSource = oe.path.join(d.getVar("COREBASE"), "meta/files", helperScriptName)
- helperScriptDest = oe.path.join(d.getVar("IMAGE_ROOTFS"), "/usr/sbin/", helperScriptName)
- shutil.copyfile(helperScriptSource, helperScriptDest)
- os.chmod(helperScriptDest, 0o755)
-}
diff --git a/meta/files/overlayfs-create-dirs.service.in b/meta/files/overlayfs-create-dirs.service.in
deleted file mode 100644
index c8431548d7..0000000000
--- a/meta/files/overlayfs-create-dirs.service.in
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Overlayfs directories setup {LOWERDIR}
-RequiresMountsFor={DATA_MOUNT_POINT}
-DefaultDependencies=no
-
-[Service]
-Type=oneshot
-ExecStart=/usr/sbin/overlayfs-create-dirs.sh {LOWERDIR} {DATA_MOUNT_POINT}
-RemainAfterExit=true
-StandardOutput=journal
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta/files/overlayfs-create-dirs.sh b/meta/files/overlayfs-create-dirs.sh
deleted file mode 100644
index 9954c34352..0000000000
--- a/meta/files/overlayfs-create-dirs.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-# This script is intended to be used sorely by overlayfs-create-dirs.service
-# Usage: overlayfs-create-dirs.sh <LOWERDIR> <DATA_MOUNT_POINT>
-
-lowerdir=$1
-datamountpoint=$2
-mkdir -p ${datamountpoint}/upper${lowerdir}
-mkdir -p ${datamountpoint}/workdir${lowerdir}
-if [ -d "$lowerdir" ]; then
- chown $(stat -c "%U:%G" ${lowerdir}) ${datamountpoint}/upper${lowerdir}
-fi
diff --git a/meta/files/overlayfs-unit.mount.in b/meta/files/overlayfs-unit.mount.in
index 9c117f2c52..eb78d2cb4f 100644
--- a/meta/files/overlayfs-unit.mount.in
+++ b/meta/files/overlayfs-unit.mount.in
@@ -1,7 +1,6 @@
[Unit]
Description=Overlayfs mount unit {LOWERDIR}
-Requires={CREATE_DIRS_SERVICE}
-After={CREATE_DIRS_SERVICE}
+RequiresMountsFor={DATA_MOUNT_POINT}
[Mount]
What=overlay
diff --git a/meta/lib/oe/overlayfs.py b/meta/lib/oe/overlayfs.py
index dbfed317c0..3805746d90 100644
--- a/meta/lib/oe/overlayfs.py
+++ b/meta/lib/oe/overlayfs.py
@@ -23,9 +23,6 @@ def allOverlaysUnitName(d):
def mountUnitName(unit):
return escapeSystemdUnitName(unit) + '.mount'
-def helperUnitName(unit):
- return escapeSystemdUnitName(unit) + '-create-upper-dir.service'
-
def unitFileList(d):
fileList = []
overlayMountPoints = d.getVarFlags("OVERLAYFS_MOUNT_POINT")
@@ -47,7 +44,6 @@ def unitFileList(d):
continue
for path in mountPointList.split():
fileList.append(mountUnitName(path))
- fileList.append(helperUnitName(path))
fileList.append(allOverlaysUnitName(d))
next prev parent reply other threads:[~2025-12-24 14:17 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-24 14:16 [PATCH v2 1/4] overlayfs: Fix QA failure uvv.mail
2025-12-24 14:16 ` [PATCH v2 2/4] overlayfs: oe-selftest: Make the test more deterministic uvv.mail
2026-01-08 13:33 ` [OE-core] " Paul Barker
2026-01-09 8:49 ` Vyacheslav Yurkov
[not found] ` <188903DB96F81C7D.2783356@lists.openembedded.org>
2026-01-14 7:45 ` Vyacheslav Yurkov
2025-12-24 14:16 ` uvv.mail [this message]
2025-12-24 14:16 ` [PATCH v2 4/4] oe-selftest: overlayfs: Add a demo case for /etc uvv.mail
2026-01-08 13:46 ` [OE-core] " Paul Barker
2026-01-09 8:52 ` Vyacheslav Yurkov
2026-01-08 13:21 ` [OE-core] [PATCH v2 1/4] overlayfs: Fix QA failure Paul Barker
2026-01-13 9:32 ` [PATCH v3] overlayfs: Fix the QA skip for ignored mounts uvv.mail
2026-01-14 13:34 ` [OE-core] " Antonin Godard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251224141659.2218381-3-uvv.mail@gmail.com \
--to=uvv.mail@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox