This bug is missing log files that will aid in diagnosing the problem.
While running an Ubuntu kernel (not a mainline or third-party kernel)
please enter the following command in a terminal window:
apport-collect 1983640
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable
to run this command, please add a comment stating that fact and change
the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the
Ubuntu Kernel Team.
** Changed in: linux (Ubuntu)
Status: New => Incomplete
** Changed in: linux (Ubuntu Jammy)
Status: New => Incomplete
--
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/1983640
Title:
refactoring of overlayfs fix to properly support shiftfs
Status in linux package in Ubuntu:
Incomplete
Status in linux source package in Jammy:
Incomplete
Status in linux source package in Kinetic:
Incomplete
Bug description:
[Impact]
Starting with 5.13 we've incorrectly dropped the following sauce
patch:
UBUNTU: SAUCE: overlayfs: fix incorrect mnt_id of files opened
from map_files
This patch is required to use overlayfs on top of shiftfs and without
this patch we may break containers that rely on shiftfs (using
zfs/ceph as storage pool w/ shiftfs enabled).
However, we made this patch dependent on AUFS, starting with Jammy
we're not enabling AUFS anymore, so this fix becomes a no-op.
So we need to re-introduce this fix with a bit of refactoring to not
depend on AUFS.
[Test case]
The following script can be used to trigger the issue:
#!/bin/bash
cat > test.py << EOF
import sys
f = open("/proc/self/maps")
for l in f.readlines():
if "python" not in l:
continue
print(l)
s = l.split()
start, end = s[0].split("-")
fname = s[-1]
print(start, end, fname)
break
else:
sys.exit(1)
test_file1 = open(fname)
test_file2 = open("/proc/self/map_files/%s-%s" % (start, end))
fdinfo1 = open("/proc/self/fdinfo/%d" % test_file1.fileno()).read()
fdinfo2 = open("/proc/self/fdinfo/%d" % test_file2.fileno()).read()
if fdinfo1 != fdinfo2:
print("FAIL")
print(test_file1)
print(fdinfo1)
print(test_file2)
print(fdinfo2)
sys.exit(1)
print("PASS")
EOF
sudo docker run -it --privileged --rm -v `pwd`:/mnt python python
/mnt/test.py
[Fix]
Import the right pieces from AUFS to properly support the fix and get
rid of the AUFS dependency across all our kernels and re-apply the
overlayfs fix without the AUFS dependency.
[Regression potential]
This patch is touching overlayfs, so we may see potential regressions
in overlayfs, especially when containers are used.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1983640/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp