Thread (7 messages) 7 messages, 4 authors, 2021-08-04

Re: [PATCH] overlay: add test for copy up of lower file attributes

From: Amir Goldstein <amir73il@gmail.com>
Date: 2021-08-03 07:21:16
Also in: linux-unionfs

On Tue, Aug 3, 2021 at 2:07 AM Darrick J. Wong [off-list ref] wrote:
On Thu, Jul 22, 2021 at 07:46:34PM +0300, Amir Goldstein wrote:
quoted
Overlayfs copies up a subset of lower file attributes since kernel
commits:
173ff5c9ec37 ("ovl: consistent behavior for immutable/append-only inodes")
2e3f6e87c2b0 ("ovl: copy up sync/noatime fileattr flags")

This test verifies this functionality works correctly and that it
survives power failure and/or mount cycle.
Just out of curiosity -- is this supposed to succeed with a 5.14-rc4
kernel?
No. The documented fix commits are in linux-next.
Looks like they are heading for 5.15-rc1.
quoted hunk ↗ jump to hunk
I noticed a massive regression with this week's fstests,
probably because something didn't get cleaned up properly:
--- overlay/078.out
+++ overlay/078.out.bad
@@ -1,2 +1,17 @@
 QA output created by 078
 Silence is golden
+Before copy up: -------A-------------- /opt/ovl-mnt/testfile
+After  copy up: ---------------------- /opt/ovl-mnt/testfile
+Before copy up: -------A-------------- /opt/ovl-mnt/testfile
+After  copy up: ---------------------- /opt/ovl-mnt/testfile
+Before copy up: --S----A-------------- /opt/ovl-mnt/testfile
+After  copy up: ---------------------- /opt/ovl-mnt/testfile
+Before copy up: --S----A-------------- /opt/ovl-mnt/testfile
+After  copy up: ---------------------- /opt/ovl-mnt/testfile
+Before copy up: --S--a-A-------------- /opt/ovl-mnt/testfile
+After  copy up: ---------------------- /opt/ovl-mnt/testfile
+Before copy up: --S--a-A-------------- /opt/ovl-mnt/testfile
+After  copy up: ---------------------- /opt/ovl-mnt/testfile
+rm: cannot remove '/opt/ovl-upper/testfile': Operation not permitted
+rm: cannot remove
'/opt/ovl-work/index/00fb2100812f1a30dc474847dbad5281308293ece9030e00020000000054816fd1':
I'm curious, are you running with non-default mount/config options
on purpose? i.e. index=on or nfs_export=on?
Operation not permitted
+Write unexpectedly returned 0 for file with attribute 'i'
Oops, sorry. The problem is even sooner than _cleanup().
I hadn't noticed it because the head snippet of 078.out.bad was expected
and I did not look past it.
and then the tests after it (e.g. generic/030) fail with:

+mount: /opt/ovl-mnt: mount(2) system call failed: Stale file handle.
+mount failed
+(see /var/tmp/fstests/generic/030.full for details)
And I hadn't noticed that because overlay/078 is the last test to reuse
/opt/ovl-upper/ and kvm-xfstests zaps the base fs before every run.

Posted a fix.
Sorry for the trouble.

Thanks,
Amir.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help