diff --git a/pkg/storaged/btrfs/subvolume.jsx b/pkg/storaged/btrfs/subvolume.jsx index 986409a5eaed..d14701957fda 100644 --- a/pkg/storaged/btrfs/subvolume.jsx +++ b/pkg/storaged/btrfs/subvolume.jsx @@ -404,6 +404,16 @@ function make_btrfs_subvolume_page(parent, volume, subvol, path_prefix, subvols) return str; } + // Show the hidden "root" of a btrfs filesystem as "top-level" as "/" can + // be confused with the root filesystem. + // https://btrfs.readthedocs.io/en/latest/Subvolumes.html + function subvol_name(subvol, path_prefix) { + if (subvol.id === 5) { + return "top-level"; + } + return strip_prefix(subvol.pathname, path_prefix); + } + let snapshot_origin = null; if (subvol.id !== 5 && subvol.parent_uuid !== null) { for (const sv of subvols) { @@ -418,7 +428,7 @@ function make_btrfs_subvolume_page(parent, volume, subvol, path_prefix, subvols) title: _("btrfs subvolume"), next: null, page_location: ["btrfs", volume.data.uuid, subvol.pathname], - page_name: strip_prefix(subvol.pathname, path_prefix), + page_name: subvol_name(subvol, path_prefix), page_size: mounted && , location: mp_text, component: BtrfsSubvolumeCard, @@ -452,7 +462,7 @@ const BtrfsSubvolumeCard = ({ card, volume, subvol, snapshot_origin, mismount_wa backing_block={block} content_block={block} subvol={subvol} />}> - + {snapshot_origin !== null && diff --git a/test/common/testlib.py b/test/common/testlib.py index b80f2488ac70..2c13473b8d1e 100644 --- a/test/common/testlib.py +++ b/test/common/testlib.py @@ -1816,13 +1816,14 @@ def cleanup_home_dirs() -> None: # cockpit configuration self.restore_dir("/etc/cockpit") - if not m.ws_container: + if not m.ostree_image: # for storage tests self.restore_file("/etc/fstab") self.restore_file("/etc/crypttab") - # tests expect cockpit.service to not run at start; also, avoid log leakage into the next test - self.addCleanup(m.execute, "systemctl stop --quiet cockpit") + if not m.ws_container: + # tests expect cockpit.service to not run at start; also, avoid log leakage into the next test + self.addCleanup(m.execute, "systemctl stop --quiet cockpit") # The sssd daemon seems to get confused when we restore # backups of /etc/group etc and stops following updates to it. diff --git a/test/reference b/test/reference index e4c1c3d4249d..864e70a6bdbd 160000 --- a/test/reference +++ b/test/reference @@ -1 +1 @@ -Subproject commit e4c1c3d4249deadec5c91b73534a0bfcaae421dc +Subproject commit 864e70a6bdbd560c670c2a5762dd3a30ab0534ac diff --git a/test/verify/check-storage-btrfs b/test/verify/check-storage-btrfs index 3d1acae6fa74..84a435f5a31e 100755 --- a/test/verify/check-storage-btrfs +++ b/test/verify/check-storage-btrfs @@ -63,7 +63,7 @@ class TestStorageBtrfs(storagelib.StorageCase): b.wait_visible(self.card_desc_action("btrfs filesystem", "Label") + ":disabled") # Unmount to change label - self.click_dropdown(self.card_row("btrfs filesystem", name="/"), "Unmount") + self.click_dropdown(self.card_row("btrfs filesystem", name="top-level"), "Unmount") self.confirm() b.wait_visible(self.card_row("btrfs filesystem", location=f"{mount_point} (not mounted)")) @@ -73,7 +73,7 @@ class TestStorageBtrfs(storagelib.StorageCase): b.wait_text(self.card_desc("btrfs filesystem", "Label"), label) # Mount writable for the rest of the test - self.click_dropdown(self.card_row("btrfs filesystem", name="/"), "Mount") + self.click_dropdown(self.card_row("btrfs filesystem", name="top-level"), "Mount") self.dialog({"mount_options.ro": False}) b.wait_visible(self.card_row("btrfs filesystem", location=f"{mount_point}")) @@ -92,7 +92,7 @@ class TestStorageBtrfs(storagelib.StorageCase): self.confirm() b.wait_visible(self.card_row("btrfs filesystem", location=f"{mount_point} (not mounted)")) - self.click_dropdown(self.card_row("btrfs filesystem", name="/"), "Mount") + self.click_dropdown(self.card_row("btrfs filesystem", name="top-level"), "Mount") self.confirm() b.wait_visible(self.card_row("btrfs filesystem", location=mount_point)) @@ -591,7 +591,7 @@ class TestStorageBtrfs(storagelib.StorageCase): self.login_and_go("/storage") self.click_card_row("Storage", name="sda") - b.wait_visible(self.card_row("btrfs filesystem", name="/")) + b.wait_visible(self.card_row("btrfs filesystem", name="top-level")) def testNothingMounted(self): m = self.machine diff --git a/test/verify/check-storage-mounting b/test/verify/check-storage-mounting index e544ea1c9747..9c0a5a930475 100755 --- a/test/verify/check-storage-mounting +++ b/test/verify/check-storage-mounting @@ -28,7 +28,7 @@ class TestStorageMounting(storagelib.StorageCase): b = self.browser b.wait_visible(self.card("btrfs filesystem")) - self.click_card_row("btrfs filesystem", name="/") + self.click_card_row("btrfs filesystem", name="top-level") b.wait_visible(self.card("btrfs subvolume")) def testMounting(self):