improve btrfs display
- Dominant language
- Rust
- Stars
- 2.9k
- Forks
- 59
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 1
Description
I noticed that lfs excludes snap mounts by default, as expected, but shows btrfs mount points. I've not yet found a tool that displays btrfs info in a way that makes 100% sense. Is there something that can be done that can incorporate Subvolumes and Snapshots? My /home is a subvolume from /
```
btrfs filesystem usage /
Overall:
Device size: 236.87GiB
Device allocated: 17.02GiB
Device unallocated: 219.85GiB
Device missing: 0.00B
Used: 14.94GiB
Free (estimated): 221.41GiB (min: 221.41GiB)
Free (statfs, df): 221.41GiB
Data ratio: 1.00
Metadata ratio: 1.00
Global reserve: 50.41MiB (used: 0.00B)
Multiple profiles: no
Data,single: Size:16.01GiB, Used:14.45GiB (90.25%)
/dev/mapper/luks-3abedd32-0c85-4e7f-9ca6-e556bbb89b12 16.01GiB
Metadata,single: Size:1.01GiB, Used:508.39MiB (49.26%)
/dev/mapper/luks-3abedd32-0c85-4e7f-9ca6-e556bbb89b12 1.01GiB
System,single: Size:4.00MiB, Used:16.00KiB (0.39%)
/dev/mapper/luks-3abedd32-0c85-4e7f-9ca6-e556bbb89b12 4.00MiB
Unallocated:
/dev/mapper/luks-3abedd32-0c85-4e7f-9ca6-e556bbb89b12 219.85GiB
```
Output from df
```
$ df -h | grep -v snap
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.7G 0 7.7G 0% /dev
tmpfs 7.8G 190M 7.6G 3% /dev/shm
tmpfs 3.1G 2.4M 3.1G 1% /run
/dev/dm-0 237G 15G 222G 7% /
tmpfs 7.8G 63M 7.7G 1% /tmp
/dev/dm-0 237G 15G 222G 7% /home
/dev/nvme0n1p2 976M 194M 716M 22% /boot
/dev/nvme0n1p1 599M 17M 583M 3% /boot/efi
/dev/mapper/sda 821G 743G 37G 96% /Data
tmpfs 1.6G 124K 1.6G 1% /run/user/1001
tmpfs 1.6G 64K 1.6G 1% /run/user/0
```
Output from lfs.
```
┌────┬─────┬─────────────────────────────────────────────────────┬─────┬─────┬────┬─────────┬────┬────┬───────────────────────────────────────────────────────────────┐
│ id│ dev │ filesystem │disk │type │used│ use% │free│size│mount point │
├────┼─────┼─────────────────────────────────────────────────────┼─────┼─────┼────┼─────────┼────┼────┼───────────────────────────────────────────────────────────────┤
│ 141│253:1│/dev/mapper/sda │crypt│ext4 │842G│96% ████▊│ 39G│881G│/Data │
│ 65│0:33 │/dev/mapper/luks-3abedd32-0c85-4e7f-9ca6-e556bbb89b12│crypt│btrfs│ 17G│ 7% ▍ │238G│254G│/ │
│ 94│0:33 │/dev/mapper/luks-3abedd32-0c85-4e7f-9ca6-e556bbb89b12│crypt│btrfs│ 17G│ 7% ▍ │238G│254G│/home │
│ 135│259:2│/dev/nvme0n1p2 │ SSD │ext4 │273M│27% █▍ │750M│1.0G│/boot │
│ 138│259:1│/dev/nvme0n1p1 │ SSD │vfat │ 17M│ 3% ▏ │611M│628M│/boot/efi │
│1233│0:33 │/dev/mapper/luks-3abedd32-0c85-4e7f-9ca6-e556bbb89b12│crypt│btrfs│ │ │ │ │/opt/sophos-spl/var/sophos-spl-comms/lib │
│1260│0:33 │/dev/mapper/luks-3abedd32-0c85-4e7f-9ca6-e556bbb89b12│crypt│btrfs│ │ │ │ │/opt/sophos-spl/var/sophos-spl-comms/usr/lib │
│1287│0:33 │/dev/mapper/luks-3abedd32-0c85-4e7f-9ca6-e556bbb89b12│crypt│btrfs│ │ │ │ │/opt/sophos-spl/var/sophos-spl-comms/etc/hosts │
│1341│0:33 │/dev/mapper/luks-3abedd32-0c85-4e7f-9ca6-e556bbb89b12│crypt│btrfs│ │ │ │ │/opt/sophos-spl/var/sophos-spl-comms/usr/lib64 │
│1368│0:33 │/dev/mapper/luks-3abedd32-0c85-4e7f-9ca6-e556bbb89b12│crypt│btrfs│ │ │ │ │/opt/sophos-spl/var/sophos-spl-comms/etc/ssl/certs │
│1395│0:33 │/dev/mapper/luks-3abedd32-0c85-4e7f-9ca6-e556bbb89b12│crypt│btrfs│ │ │ │ │/opt/sophos-spl/var/sophos-spl-comms/etc/pki/tls/certs │
│1422│0:33 │/dev/mapper/luks-3abedd32-0c85-4e7f-9ca6-e556bbb89b12│crypt│btrfs│ │ │ │ │/opt/sophos-spl/var/sophos-spl-comms/etc/pki/ca-trust/extracted│
│1449│0:33 │/dev/mapper/luks-3abedd32-0c85-4e7f-9ca6-e556bbb89b12│crypt│btrfs│ │ │ │ │/opt/sophos-spl/var/sophos-spl-comms/base/mcs/certs │
└────┴─────┴─────────────────────────────────────────────────────┴─────┴─────┴────┴─────────┴────┴────┴───────────────────────────────────────────────────────────────┘
```
Contributor guide
Research direction
Start by tracing how lfs discovers and formats btrfs mount points, using the reported `df` and `btrfs filesystem usage` output as the expected context. Investigate how subvolumes and snapshots should be represented without repeating the same device statistics, then verify that the display distinguishes meaningful btrfs mounts and reports their usage consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, rust
- Domain
- cli, operating-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100