diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2025-02-05 16:53:27 -0500 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2025-02-06 10:38:45 -0500 |
commit | 0dccdae4510ff5603247be871e64a6119647ea2a (patch) | |
tree | cfaa57da443ec52ac4b74e40e29654576db1be42 /tests | |
parent | 5fee84b972a381301cd78f42e1190115c4bed8a5 (diff) | |
download | bfs-0dccdae4510ff5603247be871e64a6119647ea2a.tar.xz |
mtab: Use mount IDs instead of dev_t for bfs_fstype()
This fixes -fstype on btrfs subvolumes, which previously reported
"unknown" due to their dev_t being potentially different from the mount
point.
Link: https://savannah.gnu.org/bugs/?50859
Link: https://lwn.net/Articles/866582/
Diffstat (limited to 'tests')
-rw-r--r-- | tests/gnu/fstype_btrfs_subvol.out | 4 | ||||
-rw-r--r-- | tests/gnu/fstype_btrfs_subvol.sh | 25 |
2 files changed, 29 insertions, 0 deletions
diff --git a/tests/gnu/fstype_btrfs_subvol.out b/tests/gnu/fstype_btrfs_subvol.out new file mode 100644 index 0000000..8871fb9 --- /dev/null +++ b/tests/gnu/fstype_btrfs_subvol.out @@ -0,0 +1,4 @@ +mnt +mnt/file +mnt/subvol +mnt/subvol/file diff --git a/tests/gnu/fstype_btrfs_subvol.sh b/tests/gnu/fstype_btrfs_subvol.sh new file mode 100644 index 0000000..71df45c --- /dev/null +++ b/tests/gnu/fstype_btrfs_subvol.sh @@ -0,0 +1,25 @@ +# Test that -fstype works in btrfs subvolumes + +command -v btrfs &>/dev/null || skip + +cd "$TEST" + +# Make a btrfs filesystem image +truncate -s128M img +mkfs.btrfs img >&2 + +# Mount it +mkdir mnt +bfs_sudo mount img mnt || skip +defer bfs_sudo umount mnt + +# Make it owned by us +bfs_sudo chown "$(id -u):$(id -g)" mnt + +# Create a subvolume inside it +btrfs subvolume create mnt/subvol >&2 + +# Make a file in and outside the subvolume +"$XTOUCH" mnt/file mnt/subvol/file + +bfs_diff mnt -fstype btrfs -print -o -printf '%p %F\n' |