I have a fix for this note, that this is a regression we introduced by another fix. I also want to put this cautious note here so people better understand why shiftfs has such bugs and why they are not simple idiot regressions but rather intricate to fix:
Note, in general it's not advisable to directly modify the underlay while a shiftfs mount is on top. In some way this means we need to keep two caches in sync and it's hard enough to keep a single cache happy. But shiftfs' use-case is inherently prone to be used for exactly that. So this is something we have to navigate carefully and honestly we have no full model upstream that does the same. Overlayfs has the copy-up behavior which let's it get around most of the issues but we don't have it and ecryptfs is broken in such scenarios which we verified quite a while back. In any case, I built a kernel with this patch and re-ran all regressions that are related to this that we have so far (cf. [1], [2], and [3]). None of them were reproducible with this patch here. So we still fix the ESTALE issue but also keep underlay and overlay in sync. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1879196 Title: 'shifted' (shiftfs) FS mount became inconsistent with host FS; resolved by dropping caches Status in linux package in Ubuntu: In Progress Bug description: On Ubuntu 20.04 with linux-image-5.4.0-30-generic from the Canonical Kernel Team's proposed PPA, I ran into the following problem with using a shiftfs 'shifted' ext4 FS mount inside a LXD container. On the host, I created a file (in emacs) that was in no way special (single line text file): 🙂 james@malefic:~/projects/ethq/deb$ stat ethq-0.6.1~git2020517/debian/ethq.install File: ethq-0.6.1~git2020517/debian/ethq.install Size: 15 Blocks: 8 IO Block: 4096 regular file Device: fd01h/64769d Inode: 7085913 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1000/ james) Gid: ( 1000/ james) Access: 2020-05-17 22:48:36.274528130 +0100 Modify: 2020-05-17 22:37:17.676232019 +0100 Change: 2020-05-17 22:37:17.676232019 +0100 Birth: - 🙂 james@malefic:~/projects/ethq/deb$ stat ethq-0.6.1~git2020517/debian/rules But in the container, I saw this: ubuntu@ethq-build:~/ethq/deb/ethq-0.6.1~git2020517$ ls -l debian/ ls: cannot access 'debian/ethq.install': No such file or directory total 20 -rw-rw-r-- 1 ubuntu ubuntu 150 May 17 21:25 changelog -rw-r--r-- 1 ubuntu ubuntu 2 May 17 21:36 compat -rw-rw-r-- 1 ubuntu ubuntu 514 May 17 21:14 control -rw-rw-r-- 1 ubuntu ubuntu 720 May 17 21:20 copyright -????????? ? ? ? ? ? ethq.install -rwxr-xr-x 1 ubuntu ubuntu 30 May 17 21:35 rules ubuntu@ethq-build:~/ethq/deb/ethq-0.6.1~git2020517$ stat debian/ethq.install stat: cannot stat 'debian/ethq.install': No such file or directory ubuntu@ethq-build:~/ethq/deb/ethq-0.6.1~git2020517$ On a suggestion from Stephane Graber, I tried running: echo 3 > /proc/sys/vm/drop_caches Which seemed to resolve the problem: ubuntu@ethq-build:~/ethq/deb/ethq-0.6.1~git2020517$ stat debian/ethq.install File: 'debian/ethq.install' Size: 15 Blocks: 8 IO Block: 4096 regular file Device: fd01h/64769d Inode: 7085913 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1000/ ubuntu) Gid: ( 1000/ ubuntu) Access: 2020-05-17 21:48:36.274528130 +0000 Modify: 2020-05-17 21:37:17.676232019 +0000 Change: 2020-05-17 21:37:17.676232019 +0000 Birth: - ubuntu@ethq-build:~/ethq/deb/ethq-0.6.1~git2020517$ To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1879196/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp