Re: [PATCH v2] ovl: sharing inode with different whiteout files

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>  > > nfs_export and metacopy are incompatible.
>  > > I tested "workdir" branch(latest commit is commit c1fe7dcb3db8ed8e84986eec07e0b302ee3b83de)
>  > > in your git tree and found three more fails.
>  >
>  > I figured that might me it.
>  > Please share more configuration details of your setup.
>  > How is metacopy enabled on your system?
>
> In order to test nfs_export, I disabled metacopy and enabled nfs_export in kernel config.

Ah right. There is this logic in ovl_parse_opt() where an explicit
metacopy or redirect_dir mount options win a conflict against the kernel config
default, but there is no such logic fir metacopy and index, because it
was harder to implement.

For the purpose of these tests, they just need to explicitly disable
metacopy in mount options. I will send a fix.

>
>  > How are you running xfstests? Can you share the config file?
>
> in xfstests-dev directory, run ./check -overlay overlay/*

FYI, -g overlay/auto will skip the "known issues" (i.e. mmap test)
and -g overlay/quick will skip the long stress test (overlay/019)

I also recommend running https://github.com/amir73il/unionmount-testsuite
if you want better test coverage.

...
>  >
>  > >
>  > > ----------------------------------
>  > >
>  > > overlay/029 1s ... - output mismatch (see /home/cgxu/git/xfstests-dev/results//overlay/029.out.bad)
>  > >     --- tests/overlay/029.out   2019-11-07 09:05:18.876796433 +0800
>  > >     +++ /home/cgxu/git/xfstests-dev/results//overlay/029.out.bad        2020-04-08 09:55:07.462699895 +0800
>  > >     @@ -1,5 +1,9 @@
>  > >      QA output created by 029
>  > >      foo
>  > >     -bar
>  > >     -foo
>  > >     -bar
>  > >     +mount: /tmp/8751/mnt: mount(2) system call failed: Stale file handle.
>  >
>  > The reason for this error should be in dmesg.
>
> I checked test log/case and the logic in the source code,
> I think the test failed at ovl_get_indexdir() -> ovl_verify_origin() during mount and this behaviour is just by design.
> so we should skip this test case when nfs_export is enabled.
>

OK. I was able to reproduce, but no need to skip the test
it is easy to fix it. I will post a fix.

>
>  >
>  > >     +cat: /tmp/8751/mnt/bar: No such file or directory
>  > >     ...
>  > >     (Run 'diff -u /home/cgxu/git/xfstests-dev/tests/overlay/029.out /home/cgxu/git/xfstests-dev/results//overlay/029.out.bad'  to see the entire diff)
>  > >
>  > > overlay/070     [failed, exit status 1]- output mismatch (see /home/cgxu/git/xfstests-dev/results//overlay/070.out.bad)
>  > >     --- tests/overlay/070.out   2020-04-07 09:16:59.102568756 +0800
>  > >     +++ /home/cgxu/git/xfstests-dev/results//overlay/070.out.bad        2020-04-08 09:55:38.580311600 +0800
>  > >     @@ -1,2 +1,26 @@
>  > >      QA output created by 070
>  > >     -Silence is golden
>  > >     +umount: /mnt/scratch: target is busy.
>  >
>  > This failure has do to with somthing that happened before the test.
>  > Its trails should be in dmesg.
>  >
>  > >     +rm: cannot remove '/mnt/scratch/ovl-mnt': Device or resource busy
>  > >     +losetup: /mnt/scratch/ovl-lower/img: failed to set up loop device: No such file or directory
>  > >     +cp: target '/mnt/scratch/ovl-lower/lowertestdir/blkdev' is not a directory
>  > >     +cp: target '/mnt/scratch/ovl-upper/uppertestdir/blkdev' is not a directory
>  > >     ...
>  > >     (Run 'diff -u /home/cgxu/git/xfstests-dev/tests/overlay/070.out /home/cgxu/git/xfstests-dev/results//overlay/070.out.bad'  to see the entire diff)
>  > >
>  > > overlay/071     - output mismatch (see /home/cgxu/git/xfstests-dev/results//overlay/071.out.bad)
>  > >     --- tests/overlay/071.out   2020-04-07 09:16:59.102568756 +0800
>  > >     +++ /home/cgxu/git/xfstests-dev/results//overlay/071.out.bad        2020-04-08 09:55:39.899295141 +0800
>  > >     @@ -1,2 +1,6 @@
>  > >      QA output created by 071
>  > >     +_overlay_check_fs: overlayfs on /mnt/scratch/ovl-mnt,/ovl-upper.2,/ovl-work.2 is inconsistent
>  > >     +(see /home/cgxu/git/xfstests-dev/results//overlay/071.full for details)
>  > >     +_overlay_check_fs: overlayfs on /mnt/scratch/ovl-mnt,/ovl-upper.2,/ovl-work.2 is inconsistent
>  > >     +(see /home/cgxu/git/xfstests-dev/results//overlay/071.full for details)
>  > >      Silence is golden
>  > >
>  >
>  > What do the full log details say?
>  > again, its probably a result of some previous failure.
>
> It sill failed when I just ran one test case.
> I haven't got enough time to analyse test logic and full log, so I put all logs in attachment.
> Please let me know if other logs are needed.

Thanks for taking the time to report all those failures.
You must be one of few developers to actually use fsck.overlayfs...

You need this fix for fsck.overlayfs:
https://github.com/hisilicon/overlayfs-progs/pull/1

Sorry, I forgot I was carrying this patch on my setup.

Zhangyi,

Any chance of merging my fix?

Thanks,
Amir.



[Index of Archives]     [Linux Filesystems Devel]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux