shiftfs: fix btrfs regression
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Undecided
|
Christian Brauner | ||
Eoan |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
SRU Justification
Impact: The patch
commit cfaa482afb97e3c
Author: Christian Brauner <email address hidden>
Date: Tue Apr 14 22:26:53 2020 +0200
UBUNTU: SAUCE: shiftfs: fix dentry revalidation
BugLink: https:/
to fix https:/
regresses various btrfs + shiftfs users. Creating a btrfs subvolume,
deleting it, and then trying to recreate it will cause EEXIST to be returned.
It also leaves some files in a half-visible state because they are not revalidated
correctly.
Faulty behavior such as this can be reproduced via:
btrfs subvolume create my-subvol
btrfs subvolume delete my-subvol
Fix: We need to revert this patch restoring the old behavior. This will briefly
resurface https:/
Regression Potential: Limited to shiftfs.
Test Case:
sudo snap install lxd --edge
sudo snap set lxd shiftfs.enable=true
sudo systemctl restart snap.lxd.daemon
sudo lxd init --auto --storage-
lxc launch images:ubuntu/focal f1
lxc shell f1
apt-get install btrfs-progs
findmnt | grep shiftfs # This should show that the rootfs is a shiftfs mount.
btrfs subvolume create my-subvol
btrfs subvolume delete my-subvol # Fails [1] with current updates kernel
btrfs subvolume create my-subvol
ls -al
[1] ERROR: Could not statfs: No such file or directory
CVE References
Changed in linux (Ubuntu): | |
status: | New → Incomplete |
status: | Incomplete → In Progress |
assignee: | nobody → Christian Brauner (cbrauner) |
Changed in linux (Ubuntu Eoan): | |
status: | New → Fix Committed |
tags: |
added: verification-done-eoan removed: verification-needed-eoan |
Changed in linux (Ubuntu): | |
status: | In Progress → Fix Released |
Changed in linux (Ubuntu Focal): | |
status: | New → Fix Committed |
description: | updated |
This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification- needed- eoan' to 'verification- done-eoan' . If the problem still exists, change the tag 'verification- needed- eoan' to 'verification- failed- eoan'.
If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.
See https:/ /wiki.ubuntu. com/Testing/ EnableProposed for documentation how to enable and use -proposed. Thank you!