All of lore.kernel.org
 help / color / mirror / Atom feed
From: Amir Goldstein <amir73il@gmail.com>
To: Zorro Lang <zlang@redhat.com>
Cc: "Miklos Szeredi" <miklos@szeredi.hu>,
	"Christian Brauner" <brauner@kernel.org>,
	"André Almeida" <andrealmeid@igalia.com>,
	linux-unionfs@vger.kernel.org, fstests@vger.kernel.org,
	"Karel Zak" <kzak@redhat.com>
Subject: [PATCH v2 1/6] overlay: workaround libmount failure to remount,ro
Date: Tue,  3 Jun 2025 12:07:40 +0200	[thread overview]
Message-ID: <20250603100745.2022891-2-amir73il@gmail.com> (raw)
In-Reply-To: <20250603100745.2022891-1-amir73il@gmail.com>

libmount >= v1.39 calls several unneeded fsconfig() calls to reconfigure
lowerdir/upperdir when user requests only -o remount,ro.

Those calls fail because overlayfs does not allow making any config
changes with new mount api, besides MS_RDONLY.

We workaround this problem with --options-mode ignore.

Reported-by: André Almeida <andrealmeid@igalia.com>
Suggested-by: Karel Zak <kzak@redhat.com>
Link: https://lore.kernel.org/linux-fsdevel/20250521-ovl_ro-v1-1-2350b1493d94@igalia.com/
Link: https://lore.kernel.org/fstests/CAJfpegtJ3SDKmC80B4AfWiC3JmtWdW2+78fRZVtsuhe-wSRPvg@mail.gmail.com/
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
---

Changes since v1 [1]:
- Change workaround from LIBMOUNT_FORCE_MOUNT2 to --options-mode=ignore

[1] https://lore.kernel.org/fstests/20250526143500.1520660-1-amir73il@gmail.com/

 common/overlay    | 5 ++++-
 tests/overlay/035 | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/common/overlay b/common/overlay
index 01b6622f..0fad6e70 100644
--- a/common/overlay
+++ b/common/overlay
@@ -127,7 +127,10 @@ _overlay_base_scratch_mount()
 _overlay_scratch_mount()
 {
 	if echo "$*" | grep -q remount; then
-		$MOUNT_PROG $SCRATCH_MNT $*
+		# By default, libmount merges remount options with old mount options.
+		# overlayfs does not support re-configuring the same mount options.
+		# We workaround this problem with --options-mode ignore.
+		$MOUNT_PROG $SCRATCH_MNT --options-mode ignore $*
 		return
 	fi
 
diff --git a/tests/overlay/035 b/tests/overlay/035
index 0b3257c4..2a4df99a 100755
--- a/tests/overlay/035
+++ b/tests/overlay/035
@@ -42,7 +42,7 @@ mkdir -p $lowerdir1 $lowerdir2 $upperdir $workdir
 # Verify that overlay is mounted read-only and that it cannot be remounted rw.
 _overlay_scratch_mount_opts -o"lowerdir=$lowerdir2:$lowerdir1"
 touch $SCRATCH_MNT/foo 2>&1 | _filter_scratch
-$MOUNT_PROG -o remount,rw $SCRATCH_MNT 2>&1 | _filter_ro_mount
+_scratch_remount rw 2>&1 | _filter_ro_mount
 $UMOUNT_PROG $SCRATCH_MNT
 
 # Make workdir immutable to prevent workdir re-create on mount
-- 
2.34.1


  reply	other threads:[~2025-06-03 10:07 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-03 10:07 [PATCH v2 0/6] fstests overlay fixes for v2025.05.25 Amir Goldstein
2025-06-03 10:07 ` Amir Goldstein [this message]
2025-06-05 17:51   ` [PATCH v2 1/6] overlay: workaround libmount failure to remount,ro Zorro Lang
2025-06-05 18:30     ` Amir Goldstein
2025-06-06  1:12       ` Zorro Lang
2025-06-06  7:35         ` Amir Goldstein
2025-06-06 10:35           ` Zorro Lang
2025-06-06 10:58             ` Amir Goldstein
2025-06-06 11:42               ` Zorro Lang
2025-06-06 14:23           ` André Almeida
2025-06-06 15:21             ` Amir Goldstein
2025-06-03 10:07 ` [PATCH v2 2/6] overlay: fix regression in _repair_overlay_scratch_fs Amir Goldstein
2025-06-05 17:47   ` Zorro Lang
2025-06-03 10:07 ` [PATCH v2 3/6] generic/604: do not run with overlayfs Amir Goldstein
2025-06-05 17:40   ` Zorro Lang
2025-06-03 10:07 ` [PATCH v2 4/6] generic/623: " Amir Goldstein
2025-06-05 17:32   ` Zorro Lang
2025-06-05 18:38     ` Amir Goldstein
2025-06-06  1:45       ` Zorro Lang
2025-06-06  7:23         ` Amir Goldstein
2025-06-06 10:29           ` Zorro Lang
2025-06-06 12:12             ` Amir Goldstein
2025-06-08 13:16               ` Zorro Lang
2025-06-09 11:01                 ` Amir Goldstein
2025-06-09 11:12                   ` Amir Goldstein
2025-06-09 17:26                     ` Zorro Lang
2025-06-09 17:43                       ` Amir Goldstein
2025-06-09 16:57                   ` Zorro Lang
2025-06-03 10:07 ` [PATCH v2 5/6] generic: remove incorrect _require_idmapped_mounts checks Amir Goldstein
2025-06-05 17:24   ` Zorro Lang
2025-06-05 18:33     ` Amir Goldstein
2025-06-03 10:07 ` [PATCH v2 6/6] generic/699: fix failure with MOUNT_OPTIONS Amir Goldstein
2025-06-05 17:46   ` Zorro Lang

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=20250603100745.2022891-2-amir73il@gmail.com \
    --to=amir73il@gmail.com \
    --cc=andrealmeid@igalia.com \
    --cc=brauner@kernel.org \
    --cc=fstests@vger.kernel.org \
    --cc=kzak@redhat.com \
    --cc=linux-unionfs@vger.kernel.org \
    --cc=miklos@szeredi.hu \
    --cc=zlang@redhat.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.