when btrfs-size shows a snapshot as 16777216.00TB or btrfs qgroup as 16.00EiB
Posted by jpluimers on 2018/10/19
A long time ago I wrote about the btrfs-size
tool: [WayBack] A bash script to btrfs snapshot details like disk sizes (requires btrfs quota to be enabled).
One day, it showed a ridiculously large size for /tmp
:
# ./btrfs-size.sh ============================================================================================================================================================================================================================================================= Snapshot / Subvolume ID Total Exclusive Data ============================================================================================================================================================================================================================================================= 257 gen 855182 top level 5 path .snapshots 257 4.30MB 4.30MB 258 gen 856438 top level 257 path .snapshots/1/snapshot 258 1.84GB 193.01MB ... 262 gen 856438 top level 5 path srv 262 1.83GB 1.83GB 263 gen 856438 top level 5 path tmp 263 16777216.00TB16777216.00TB 264 gen 856438 top level 5 path usr/local 264 260.00KB 260.00KB ... 990 gen 849192 top level 257 path .snapshots/583/snapshot 990 1.83GB 8.23MB 991 gen 849224 top level 257 path .snapshots/584/snapshot 991 2.09GB 62.66MB ============================================================================================================================================================================================================================================================= Exclusive Total: 3.26GB
This tracks back to the output of this command, which I’ve shortened a bit:
# btrfs qgroup show / qgroupid rfer excl -------- ---- ---- 0/5 16.00KiB 16.00KiB 0/257 4.30MiB 4.30MiB ... 0/262 1.83GiB 1.83GiB 0/263 16.00EiB 16.00EiB 0/264 260.00KiB 260.00KiB ... 255/274 0.00B 0.00B 255/797 16.00KiB 16.00KiB
This is a known issue as quotas in btrfs – though workable – aren’t fully stable yet: [WayBack] Linux BTRFS Storage: Re: During a btrfs balance nearly all quotas of the subvolumes became exceeded
It also provides this simple solution:
btrfs quota rescan /
After that, btrf-size
showed this:
# ./btrfs-size.sh ============================================================================================================================================================================================================================================================= Snapshot / Subvolume ID Total Exclusive Data ============================================================================================================================================================================================================================================================= 257 gen 855182 top level 5 path .snapshots 257 4.30MB 4.30MB 258 gen 856502 top level 257 path .snapshots/1/snapshot 258 3.76GB 204.15MB ... 262 gen 856494 top level 5 path srv 262 1.85GB 1.85GB 263 gen 856501 top level 5 path tmp 263 2.52MB 2.52MB 264 gen 856438 top level 5 path usr/local 264 260.00KB 260.00KB ... 990 gen 849192 top level 257 path .snapshots/583/snapshot 990 3.76GB 8.23MB 991 gen 849224 top level 257 path .snapshots/584/snapshot 991 4.02GB 73.72MB ============================================================================================================================================================================================================================================================= Exclusive Total: 3.35GB
Related: [WayBack] btrfs-progs: utils: negative numbers are more plausible than sizes over 8 EiB – Patchwork
–jeroen
Leave a Reply