9

I want Linux's OverlayFS to behave like AUFS when writing to a lower file. I want it to write through to the lower directory. For example, I have two files named L/lower and U/upper.

mount -t overlay -o lowerdir=L,upperdir=U,workdir=W overlay X

This merges L and U into a single OverlayFS directory named X. So now the two files are accessible as X/lower and X/upper.

Then I modify the lower file through the OverlayFS directory. This is where it misbehaves on me:

echo 'This is a modification' >> X/lower

It does not actually modify the lower file L/lower. Instead it creates a new upper file called U/lower and writes my modification there. This is not what I want. I want X to serve as a convenient, single access point for editing purposes.

How can I make the modification to X/lower write through to L/lower?

4
  • lower is readonly. thats how it works. you can recursively mount overlay over overlays, though. – mikeserv Oct 29 '15 at 22:31
  • I've posted a couple of answers to my own question (unix.stackexchange.com/q/393930) which covers this topic. – ejm Sep 23 '17 at 2:50
  • Is switching the role of upper and lower an option? Or do you need to write to both upper and lower? In that case, mergerFS might be more appropriate. MergerFS cannot do COW, though. – leggewie May 3 '20 at 20:41
  • @MAV, What I wanted at the time is write access to the files in both L and U, via X — ‘a convenient, single access point for editing purposes’ — what AUFS gave me. – Michael Allan May 4 '20 at 21:52
2

You can write to the underlying directory by not using the created overlay to access the file (the directory "X" in this case). Do it with:

echo 'This is a modification' >> L/lower
2
  • That wouldn’t be done through the overlay, however, which is what I ask about. I’d like X/lower to be a single point of access for editing purposes regardless of whether the file actually sits in L/ or in U/; so apparently merging the two directories while actually keeping them apart. – Michael Allan Dec 5 '19 at 0:08
  • 1
    This answer is wrong assuming you did not unmount the overlay first. That is even explicitly and officially documented: "Changes to the underlying filesystems while part of a mounted overlay filesystem are not allowed. If the underlying filesystem is changed, the behavior of the overlay is undefined, though it will not result in a crash or deadlock." – leggewie May 3 '20 at 20:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.