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
signature.asc
Description: This is a digitally signed message part