Re: [PATCH] overlay: workaround libmount failure to remount,ro

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 26, 2025 at 10:18:52AM +0200, Amir Goldstein wrote:
> libmount v1.41 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.
> 
> force mount(8) to use mount(2) to remount ro/rw to workaround
> this issue, by setting LIBMOUNT_FORCE_MOUNT2=always.
> 
> Reported-by: André Almeida <andrealmeid@xxxxxxxxxx>
> Cc: Karel Zak <kzak@xxxxxxxxxx>
> Link: https://lore.kernel.org/linux-fsdevel/20250521-ovl_ro-v1-1-2350b1493d94@xxxxxxxxxx/

Is my bug report (a year ago) gotten fixed?
https://lore.kernel.org/linux-fsdevel/20241026180741.cfqm6oqp3frvasfm@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/

If this kernel fix works, do we still need this workaround?

Thanks,
Zorro

> Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx>
> ---
>  common/overlay    | 4 +++-
>  tests/overlay/035 | 2 +-
>  2 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/common/overlay b/common/overlay
> index a6d37a93..5ee9f561 100644
> --- a/common/overlay
> +++ b/common/overlay
> @@ -127,7 +127,9 @@ _overlay_base_scratch_mount()
>  _overlay_scratch_mount()
>  {
>  	if echo "$*" | grep -q remount; then
> -		$MOUNT_PROG $SCRATCH_MNT $*
> +		# force mount(8) to use mount(2), to workaround libmount v1.41
> +		# failed fsconfig() calls to reconfigure lowerdir/upperdir
> +		LIBMOUNT_FORCE_MOUNT2=always $MOUNT_PROG $SCRATCH_MNT $*
>  		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
> 





[Index of Archives]     [Linux Filesystems Devel]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux