ubuntu_unionmount_ovlfs failed with "File not on union layer" on B-azure-5.4

Bug #1908855 reported by Po-Hsu Lin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ubuntu-kernel-tests
Fix Released
Undecided
Unassigned

Bug Description

Issue found on 5.4.0-1035.36~18.04.1
Test failed with:
 /mnt/a/foo100: File not on union layer

Test log:
 Running './run --ov'
 /mnt/a/foo100: File not on union layer
 Environment variables:

 ***
 *** ./run --ov --xino open-plain
 ***
 TEST open-plain.py:10: Open O_RDONLY

As this test has passed with B-azure-5.4.0-1033.34~18.04.1 it looks like a regression here.

Po-Hsu Lin (cypressyew)
tags: added: 5.4 azure bionic kqa-blocker sru-20201130 ubuntu-unionmount-ovlfs
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

This issue does not exist on Focal 5.4 and Bionic 5.4 generic kernel, which were tested about 6 days ago.

There is an update in the test suite upstream, will need to check if that is the cause.

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

A bisect against the test suite shows this was caused by the recent update:

078708192bba5337afbec0952e104bd587824e65
Add support for user defined mount options

$ sudo git bisect log
git bisect start
# good: [7e2a4dbfac7c51415f6d3875a50e1c93bf3eae9d] Support metacopy with nested overlay configuration
git bisect good 7e2a4dbfac7c51415f6d3875a50e1c93bf3eae9d
# bad: [95be14ee4dd75c5a2b2ae4d05df6c8810ac09737] Allow user provided options with or without -o
git bisect bad 95be14ee4dd75c5a2b2ae4d05df6c8810ac09737
# bad: [078708192bba5337afbec0952e104bd587824e65] Add support for user defined mount options
git bisect bad 078708192bba5337afbec0952e104bd587824e65
# good: [019085f43d7e6426378ccfd3deeb23e127449e3e] Relax layers check for older kernels
git bisect good 019085f43d7e6426378ccfd3deeb23e127449e3e
# first bad commit: [078708192bba5337afbec0952e104bd587824e65] Add support for user defined mount options

summary: - [Potential Regression] ubuntu_unionmount_ovlfs failed on B-azure-5.4
+ ubuntu_unionmount_ovlfs failed on B-azure-5.4
summary: - ubuntu_unionmount_ovlfs failed on B-azure-5.4
+ ubuntu_unionmount_ovlfs failed with "File not on union layer" on
+ B-azure-5.4
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Compare the mount command from mount_union:

* 078708192bba5 ("Add support for user defined mount options")
mount -t overlay overlay /mnt -orw,redirect_dir=on -olowerdir=/lower,upperdir=/upper/0/u,workdir=/upper/0/w

* 019085f43d7e6 ("Relax layers check for older kernels")
mount -t overlay overlay /mnt -orw,redirect_dir=on,xino=on,lowerdir=/lower,upperdir=/upper/0/u,workdir=/upper/0/w

The difference here is the -olowerdir and the absence of xino=on.

If the test case changed from:
  sudo ./run --ov

To:
  sudo ./run --ov --xino

And this would pass with the latest commit in the test suite.

We need to confirm this is an expected behaviour and change our test case accordingly if needed.

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Issue reported upstream to confirm the use case.
https://github.com/amir73il/unionmount-testsuite/issues/5

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Issue fixed upstream. Retested with positive results.
Closing this bug.

Changed in ubuntu-kernel-tests:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.