On Sun, 18 Sep 2022 18:07:31 +0200 Ansgar <ans...@43-1.org> wrote:
> On Sun, 18 Sep 2022 16:15:28 +0200 Helmut Grohne <hel...@subdivi.de>
wrote:
> [usrmerge on overlayfs]
> > 
> > I recommend turning the check around. First actually attempt to
perform
> > the conversion. If that happens to fails, check for overlayfs and
> > conditionally emit the helpful message. That way, conversion
actually is
> > performed when it can be performed. When it cannot be performed, we
> > cannot do anything about it anyway.
> 
> What fails in the rename in `convert_directory`; see section
"renaming
> directories" in linux' Documentation/filesystems/overlayfs.rst. That
> happens after some conversion steps are already performed. So I don't
> think we should drop the check entirely.
> 
> As a compromise one could:
> 
> a) Require an environment variable to be set to disable the check.
> 
> b) If overlayfs is detected, try calling rename in the check, e.g.,
>    perl -e '
>        rename("/sbin", "/sbin~usrmerge~");
>        rename("/sbin~usrmerge~", "/sbin");
>    '
>    Plus some error handling for:
>    - overlayfs specific problem when this fails with EXDEV
>      (i.e., what the check is supposed to catch)
>    - any other reason this fails.
> 
>    Maybe also use some other directory instead of /sbin, but
>    it has to exist on the underlaying filesystem, not the overlay to
>    catch the problem we want to catch.

That sounds sensible to me, this seems to work, please review&test:

https://salsa.debian.org/md/usrmerge/-/merge_requests/6

-- 
Kind regards,
Luca Boccassi

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to