* btrfs-progs: btrfs dev usa as non-root is wrong and should just abort @ 2024-07-10 11:52 Russell Coker 2024-07-10 16:29 ` Boris Burkov 2024-07-10 21:13 ` Qu Wenruo 0 siblings, 2 replies; 8+ messages in thread From: Russell Coker @ 2024-07-10 11:52 UTC (permalink / raw) To: linux-btrfs Below is the difference between running btrfs dev usa as root and non-root on a laptop with kernel 6.8.12-amd64. When run as non-root it gets everything wrong and in my tests I have never been able to see it give nay accurate data as non-root. I think it should just abort with an error in that situation, there's no point in giving a wrong answer. # btrfs dev usa / /dev/mapper/root, ID: 1 Device size: 476.37GiB Device slack: 1.50KiB Data,single: 216.01GiB Metadata,DUP: 6.00GiB System,DUP: 64.00MiB Unallocated: 254.29GiB $ btrfs dev usa / WARNING: cannot read detailed chunk info, per-device usage will not be shown, run as root /dev/mapper/root, ID: 1 Device size: 952.73MiB Device slack: 16.00EiB Unallocated: 476.37GiB -- My Main Blog http://etbe.coker.com.au/ My Documents Blog http://doc.coker.com.au/ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: btrfs-progs: btrfs dev usa as non-root is wrong and should just abort 2024-07-10 11:52 btrfs-progs: btrfs dev usa as non-root is wrong and should just abort Russell Coker @ 2024-07-10 16:29 ` Boris Burkov 2024-07-11 3:50 ` Russell Coker 2024-07-10 21:13 ` Qu Wenruo 1 sibling, 1 reply; 8+ messages in thread From: Boris Burkov @ 2024-07-10 16:29 UTC (permalink / raw) To: Russell Coker; +Cc: linux-btrfs On Wed, Jul 10, 2024 at 09:52:14PM +1000, Russell Coker wrote: > Below is the difference between running btrfs dev usa as root and non-root on > a laptop with kernel 6.8.12-amd64. When run as non-root it gets everything > wrong and in my tests I have never been able to see it give nay accurate data > as non-root. I think it should just abort with an error in that situation, > there's no point in giving a wrong answer. > > # btrfs dev usa / > /dev/mapper/root, ID: 1 > Device size: 476.37GiB > Device slack: 1.50KiB > Data,single: 216.01GiB > Metadata,DUP: 6.00GiB > System,DUP: 64.00MiB > Unallocated: 254.29GiB > > $ btrfs dev usa / > WARNING: cannot read detailed chunk info, per-device usage will not be shown, > run as root > /dev/mapper/root, ID: 1 > Device size: 952.73MiB Hmm.. > Device slack: 16.00EiB > Unallocated: 476.37GiB Also wrong, but at least it's the "size" number?! btrfs device usage (and btrfs filesystem usage) usually give pretty reasonable results without root on my systems, so this is sort of surprising to me, especially since it looks like we both have the same trivial raid/volume setup and you are on a relatively new kernel. e.g., on my system running 6.9: $ sudo btrfs dev usage /home /dev/mapper/vol-home, ID: 1 Device size: 826.50GiB Device slack: 0.00B Data,single: 117.01GiB Metadata,DUP: 2.00GiB System,DUP: 16.00MiB Unallocated: 707.47GiB $ btrfs dev usage /home WARNING: cannot read detailed chunk info, per-device usage will not be shown, run as root /dev/mapper/vol-home, ID: 1 Device size: 826.50GiB Device slack: 0.00B Unallocated: N/A I suppose my non-root output is lacking usage information, it at least gets the size right. Does the same discrepancy happen for you when running 'btrfs filesystem usage /' with and without root? That command gives me lots of useful, interesting output without root. e.g., $ btrfs fi usage /home WARNING: cannot read detailed chunk info, per-device usage will not be shown, run as root Overall: Device size: 826.50GiB Device allocated: 119.02GiB Device unallocated: 707.47GiB Device missing: 0.00B Device slack: 0.00B Used: 109.38GiB Free (estimated): 716.59GiB (min: 362.85GiB) Free (statfs, df): 716.59GiB Data ratio: 1.00 Metadata ratio: 2.00 Global reserve: 168.02MiB (used: 0.00B) Multiple profiles: no Data,single: Size:117.01GiB, Used:107.89GiB (92.21%) Metadata,DUP: Size:1.00GiB, Used:764.42MiB (74.65%) System,DUP: Size:8.00MiB, Used:16.00KiB (0.20%) Thanks, Boris > > -- > My Main Blog http://etbe.coker.com.au/ > My Documents Blog http://doc.coker.com.au/ > > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: btrfs-progs: btrfs dev usa as non-root is wrong and should just abort 2024-07-10 16:29 ` Boris Burkov @ 2024-07-11 3:50 ` Russell Coker 0 siblings, 0 replies; 8+ messages in thread From: Russell Coker @ 2024-07-11 3:50 UTC (permalink / raw) To: Boris Burkov; +Cc: linux-btrfs On Thursday, 11 July 2024 02:29:38 AEST Boris Burkov wrote: > Also wrong, but at least it's the "size" number?! > > btrfs device usage (and btrfs filesystem usage) usually give > pretty reasonable results without root on my systems, so this is sort of > surprising to me, especially since it looks like we both have the same > trivial raid/volume setup and you are on a relatively new kernel. > e.g., on my system running 6.9: I'm surprised that it worked for anyone, my experience was that it fails on all systems and I had assumed that was the general experience. > Does the same discrepancy happen for you when running > 'btrfs filesystem usage /' with and without root? That command gives me > lots of useful, interesting output without root. e.g., For me btrfs fi usa gives me almost everything as non-root. A bogus value for device slack is the only thing wrong. # btrfs fi usa / Overall: Device size: 476.37GiB Device allocated: 222.07GiB Device unallocated: 254.29GiB Device missing: 0.00B Device slack: 1.50KiB Used: 209.94GiB Free (estimated): 263.99GiB (min: 136.84GiB) Free (statfs, df): 263.99GiB Data ratio: 1.00 Metadata ratio: 2.00 Global reserve: 385.50MiB (used: 0.00B) Multiple profiles: no Data,single: Size:216.01GiB, Used:206.31GiB (95.51%) /dev/mapper/root 216.01GiB Metadata,DUP: Size:3.00GiB, Used:1.81GiB (60.50%) /dev/mapper/root 6.00GiB System,DUP: Size:32.00MiB, Used:48.00KiB (0.15%) /dev/mapper/root 64.00MiB Unallocated: /dev/mapper/root 254.29GiB $ btrfs fi usa / WARNING: cannot read detailed chunk info, per-device usage will not be shown, run as root Overall: Device size: 476.37GiB Device allocated: 222.07GiB Device unallocated: 254.29GiB Device missing: 0.00B Device slack: 16.00EiB Used: 209.94GiB Free (estimated): 263.99GiB (min: 136.84GiB) Free (statfs, df): 263.99GiB Data ratio: 1.00 Metadata ratio: 2.00 Global reserve: 385.50MiB (used: 0.00B) Multiple profiles: no Data,single: Size:216.01GiB, Used:206.31GiB (95.51%) Metadata,DUP: Size:3.00GiB, Used:1.81GiB (60.50%) System,DUP: Size:32.00MiB, Used:48.00KiB (0.15%) -- My Main Blog http://etbe.coker.com.au/ My Documents Blog http://doc.coker.com.au/ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: btrfs-progs: btrfs dev usa as non-root is wrong and should just abort 2024-07-10 11:52 btrfs-progs: btrfs dev usa as non-root is wrong and should just abort Russell Coker 2024-07-10 16:29 ` Boris Burkov @ 2024-07-10 21:13 ` Qu Wenruo 2024-07-11 3:42 ` Russell Coker 1 sibling, 1 reply; 8+ messages in thread From: Qu Wenruo @ 2024-07-10 21:13 UTC (permalink / raw) To: Russell Coker, linux-btrfs 在 2024/7/10 21:22, Russell Coker 写道: > Below is the difference between running btrfs dev usa as root and non-root on > a laptop with kernel 6.8.12-amd64. When run as non-root it gets everything > wrong and in my tests I have never been able to see it give nay accurate data > as non-root. I think it should just abort with an error in that situation, > there's no point in giving a wrong answer. > > # btrfs dev usa / > /dev/mapper/root, ID: 1 > Device size: 476.37GiB > Device slack: 1.50KiB > Data,single: 216.01GiB > Metadata,DUP: 6.00GiB > System,DUP: 64.00MiB > Unallocated: 254.29GiB > > $ btrfs dev usa / > WARNING: cannot read detailed chunk info, per-device usage will not be shown, > run as root > /dev/mapper/root, ID: 1 > Device size: 952.73MiB > Device slack: 16.00EiB > Unallocated: 476.37GiB > Mind to post the raw result? The 16EiB output definitely means something wrong. So far the result looks like btrfs-progs is interpret the result wrong with some offset of the result. In my case, non-root call of "btrfs dev usage" always shows the slack as 0, and unallocated as N/A, so the 16EiB looks like some shift. And what's the version of the btrfs-progs? Thanks, Qu ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: btrfs-progs: btrfs dev usa as non-root is wrong and should just abort 2024-07-10 21:13 ` Qu Wenruo @ 2024-07-11 3:42 ` Russell Coker 2024-07-11 3:47 ` Qu Wenruo 0 siblings, 1 reply; 8+ messages in thread From: Russell Coker @ 2024-07-11 3:42 UTC (permalink / raw) To: linux-btrfs, Qu Wenruo On Thursday, 11 July 2024 07:13:25 AEST Qu Wenruo wrote: > 在 2024/7/10 21:22, Russell Coker 写道: > > Below is the difference between running btrfs dev usa as root and non-root > > on a laptop with kernel 6.8.12-amd64. When run as non-root it gets > > everything wrong and in my tests I have never been able to see it give > > nay accurate data as non-root. I think it should just abort with an > > error in that situation, there's no point in giving a wrong answer. > > > > # btrfs dev usa / > > /dev/mapper/root, ID: 1 > > > > Device size: 476.37GiB > > Device slack: 1.50KiB > > Data,single: 216.01GiB > > Metadata,DUP: 6.00GiB > > System,DUP: 64.00MiB > > Unallocated: 254.29GiB > > > > $ btrfs dev usa / > > WARNING: cannot read detailed chunk info, per-device usage will not be > > shown, run as root > > /dev/mapper/root, ID: 1 > > > > Device size: 952.73MiB > > Device slack: 16.00EiB > > Unallocated: 476.37GiB > > Mind to post the raw result? > > The 16EiB output definitely means something wrong. > > So far the result looks like btrfs-progs is interpret the result wrong > with some offset of the result. > > In my case, non-root call of "btrfs dev usage" always shows the slack as > 0, and unallocated as N/A, so the 16EiB looks like some shift. # btrfs dev usa -b / /dev/mapper/root, ID: 1 Device size: 511493395968 Device slack: 1536 Data,single: 231936622592 Metadata,DUP: 6442450944 System,DUP: 67108864 Unallocated: 273047212032 $ btrfs dev usa -b / WARNING: cannot read detailed chunk info, per-device usage will not be shown, run as root /dev/mapper/root, ID: 1 Device size: 999010539 Device slack: 18446743563215167723 Unallocated: 511493394432 > And what's the version of the btrfs-progs? The Debian package version is 6.6.3-1.2+b1. -- My Main Blog http://etbe.coker.com.au/ My Documents Blog http://doc.coker.com.au/ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: btrfs-progs: btrfs dev usa as non-root is wrong and should just abort 2024-07-11 3:42 ` Russell Coker @ 2024-07-11 3:47 ` Qu Wenruo 2024-07-11 3:55 ` Russell Coker 0 siblings, 1 reply; 8+ messages in thread From: Qu Wenruo @ 2024-07-11 3:47 UTC (permalink / raw) To: Russell Coker, linux-btrfs 在 2024/7/11 13:12, Russell Coker 写道: > On Thursday, 11 July 2024 07:13:25 AEST Qu Wenruo wrote: >> 在 2024/7/10 21:22, Russell Coker 写道: >>> Below is the difference between running btrfs dev usa as root and non-root >>> on a laptop with kernel 6.8.12-amd64. When run as non-root it gets >>> everything wrong and in my tests I have never been able to see it give >>> nay accurate data as non-root. I think it should just abort with an >>> error in that situation, there's no point in giving a wrong answer. >>> >>> # btrfs dev usa / >>> /dev/mapper/root, ID: 1 >>> >>> Device size: 476.37GiB >>> Device slack: 1.50KiB >>> Data,single: 216.01GiB >>> Metadata,DUP: 6.00GiB >>> System,DUP: 64.00MiB >>> Unallocated: 254.29GiB >>> >>> $ btrfs dev usa / >>> WARNING: cannot read detailed chunk info, per-device usage will not be >>> shown, run as root >>> /dev/mapper/root, ID: 1 >>> >>> Device size: 952.73MiB >>> Device slack: 16.00EiB >>> Unallocated: 476.37GiB >> >> Mind to post the raw result? >> >> The 16EiB output definitely means something wrong. >> >> So far the result looks like btrfs-progs is interpret the result wrong >> with some offset of the result. >> >> In my case, non-root call of "btrfs dev usage" always shows the slack as >> 0, and unallocated as N/A, so the 16EiB looks like some shift. > > # btrfs dev usa -b / > /dev/mapper/root, ID: 1 > Device size: 511493395968 The device size is 4K aligned. I guess it's some older fs? As newer mkfs would always round down to the sector size. > Device slack: 1536 > Data,single: 231936622592 > Metadata,DUP: 6442450944 > System,DUP: 67108864 > Unallocated: 273047212032 > > $ btrfs dev usa -b / > WARNING: cannot read detailed chunk info, per-device usage will not be shown, > run as root > /dev/mapper/root, ID: 1 > Device size: 999010539 > Device slack: 18446743563215167723 > Unallocated: 511493394432 > >> And what's the version of the btrfs-progs? > > The Debian package version is 6.6.3-1.2+b1. > It may be easier to debug by trying a newer version of btrfs-progs. And since I'm not sure if it's the unalignment causing problems, you may want to resize the fs by: # btrfs device resize -1M <mnt> Then resize to max (which should always align the fs correctly): # btrfs device resize max <mnt> And then check if the size is aligned to 4K and if the problem has changed. Thanks, Qu ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: btrfs-progs: btrfs dev usa as non-root is wrong and should just abort 2024-07-11 3:47 ` Qu Wenruo @ 2024-07-11 3:55 ` Russell Coker 2024-07-11 3:58 ` Qu Wenruo 0 siblings, 1 reply; 8+ messages in thread From: Russell Coker @ 2024-07-11 3:55 UTC (permalink / raw) To: linux-btrfs, Qu Wenruo On Thursday, 11 July 2024 13:47:59 AEST Qu Wenruo wrote: > > # btrfs dev usa -b / > > /dev/mapper/root, ID: 1 > > > > Device size: 511493395968 > > The device size is 4K aligned. > > I guess it's some older fs? As newer mkfs would always round down to the > sector size. My recollection is that I had run mkfs on a system running Debian/Bookworm which had different hardware and then used dd to copy it to this one. > > Device slack: 1536 > > Data,single: 231936622592 > > Metadata,DUP: 6442450944 > > System,DUP: 67108864 > > Unallocated: 273047212032 > > > > $ btrfs dev usa -b / > > WARNING: cannot read detailed chunk info, per-device usage will not be > > shown, run as root > > /dev/mapper/root, ID: 1 > > > > Device size: 999010539 > > Device slack: 18446743563215167723 > > Unallocated: 511493394432 > >> > >> And what's the version of the btrfs-progs? > > > > The Debian package version is 6.6.3-1.2+b1. > > It may be easier to debug by trying a newer version of btrfs-progs. > > And since I'm not sure if it's the unalignment causing problems, you may > want to resize the fs by: > > # btrfs device resize -1M <mnt> > > Then resize to max (which should always align the fs correctly): > > # btrfs device resize max <mnt> root@cupcakke:/tmp# btrfs fi resize 1:-1M / Resize device id 1 (/dev/mapper/root) from 476.37GiB to 476.36GiB root@cupcakke:/tmp# btrfs fi resize 1:max / Resize device id 1 (/dev/mapper/root) from 476.36GiB to max etbe@cupcakke:/tmp$ btrfs dev usa -b / WARNING: cannot read detailed chunk info, per-device usage will not be shown, run as root /dev/mapper/root, ID: 1 Device size: 999010539 Device slack: 18446743563215167723 Unallocated: 511493394432 etbe@cupcakke:/tmp$ btrfs dev usa / WARNING: cannot read detailed chunk info, per-device usage will not be shown, run as root /dev/mapper/root, ID: 1 Device size: 952.73MiB Device slack: 16.00EiB Unallocated: 476.37GiB That doesn't seem to have changed anything. -- My Main Blog http://etbe.coker.com.au/ My Documents Blog http://doc.coker.com.au/ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: btrfs-progs: btrfs dev usa as non-root is wrong and should just abort 2024-07-11 3:55 ` Russell Coker @ 2024-07-11 3:58 ` Qu Wenruo 0 siblings, 0 replies; 8+ messages in thread From: Qu Wenruo @ 2024-07-11 3:58 UTC (permalink / raw) To: Russell Coker, linux-btrfs 在 2024/7/11 13:25, Russell Coker 写道: > On Thursday, 11 July 2024 13:47:59 AEST Qu Wenruo wrote: >>> # btrfs dev usa -b / >>> /dev/mapper/root, ID: 1 >>> >>> Device size: 511493395968 >> >> The device size is 4K aligned. >> >> I guess it's some older fs? As newer mkfs would always round down to the >> sector size. > > My recollection is that I had run mkfs on a system running Debian/Bookworm > which had different hardware and then used dd to copy it to this one. > >>> Device slack: 1536 >>> Data,single: 231936622592 >>> Metadata,DUP: 6442450944 >>> System,DUP: 67108864 >>> Unallocated: 273047212032 >>> >>> $ btrfs dev usa -b / >>> WARNING: cannot read detailed chunk info, per-device usage will not be >>> shown, run as root >>> /dev/mapper/root, ID: 1 >>> >>> Device size: 999010539 >>> Device slack: 18446743563215167723 >>> Unallocated: 511493394432 >>>> >>>> And what's the version of the btrfs-progs? >>> >>> The Debian package version is 6.6.3-1.2+b1. >> >> It may be easier to debug by trying a newer version of btrfs-progs. >> >> And since I'm not sure if it's the unalignment causing problems, you may >> want to resize the fs by: >> >> # btrfs device resize -1M <mnt> >> >> Then resize to max (which should always align the fs correctly): >> >> # btrfs device resize max <mnt> > > root@cupcakke:/tmp# btrfs fi resize 1:-1M / > Resize device id 1 (/dev/mapper/root) from 476.37GiB to 476.36GiB > root@cupcakke:/tmp# btrfs fi resize 1:max / > Resize device id 1 (/dev/mapper/root) from 476.36GiB to max > > etbe@cupcakke:/tmp$ btrfs dev usa -b / > WARNING: cannot read detailed chunk info, per-device usage will not be shown, > run as root > /dev/mapper/root, ID: 1 > Device size: 999010539 > Device slack: 18446743563215167723 > Unallocated: 511493394432 What about the usage output using root privilege? Just want to be sure that the fs is properly resized to be 4K aligned. > > etbe@cupcakke:/tmp$ btrfs dev usa / > WARNING: cannot read detailed chunk info, per-device usage will not be shown, > run as root > /dev/mapper/root, ID: 1 > Device size: 952.73MiB > Device slack: 16.00EiB > Unallocated: 476.37GiB > > That doesn't seem to have changed anything. > And what about newer progs? Thanks, Qu ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-07-11 3:58 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-07-10 11:52 btrfs-progs: btrfs dev usa as non-root is wrong and should just abort Russell Coker 2024-07-10 16:29 ` Boris Burkov 2024-07-11 3:50 ` Russell Coker 2024-07-10 21:13 ` Qu Wenruo 2024-07-11 3:42 ` Russell Coker 2024-07-11 3:47 ` Qu Wenruo 2024-07-11 3:55 ` Russell Coker 2024-07-11 3:58 ` Qu Wenruo
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.