From: Goffredo Baroncelli <kreijack@libero.it>
To: linux-btrfs@vger.kernel.org
Subject: [RFC] new ioctl BTRFS_IOC_GET_CHUNK_INFO
Date: Sun, 15 Mar 2020 16:24:17 +0100 [thread overview]
Message-ID: <20200315152418.7784-1-kreijack@libero.it> (raw)
This is a repost of an old patch (~2017). At the time it din't received
any feedback. I repost it hoping that it still be interesting.
This patch is the kernel related one; another one related to the
btrfs-progs is send separately.
This patch set creates a new ioctl BTRFS_IOC_GET_CHUNK_INFO.
The aim is to replace the BTRFS_IOC_TREE_SEARCH ioctl
used by "btrfs fi usage" to obtain information about the
chunks/block groups.
The problems in using the BTRFS_IOC_TREE_SEARCH is that it access
the very low data structure of BTRFS. This means:
1) this would be complicated a possible change of the disk format
2) it requires the root privileges
The BTRFS_IOC_GET_CHUNK_INFO ioctl can be called even from a not root
user: I think that the data exposed are not sensibile data.
These patches allow to use "btrfs fi usage" without root privileges.
before:
-------------------------------------------
$ btrfs fi us /
WARNING: cannot read detailed chunk info, per-device usage will not be shown, run as root
Overall:
Device size: 100.00GiB
Device allocated: 26.03GiB
Device unallocated: 73.97GiB
Device missing: 0.00B
Used: 17.12GiB
Free (estimated): 80.42GiB (min: 80.42GiB)
Data ratio: 1.00
Metadata ratio: 1.00
Global reserve: 53.12MiB (used: 0.00B)
Data,single: Size:23.00GiB, Used:16.54GiB (71.93%)
Metadata,single: Size:3.00GiB, Used:588.94MiB (19.17%)
System,single: Size:32.00MiB, Used:16.00KiB (0.05%)
after:
-----------------------------------------------
$ ./btrfs fi us /
Overall:
Device size: 100.00GiB
Device allocated: 26.03GiB
Device unallocated: 73.97GiB
Device missing: 0.00B
Used: 17.12GiB
Free (estimated): 80.42GiB (min: 80.42GiB)
Data ratio: 1.00
Metadata ratio: 1.00
Global reserve: 53.12MiB (used: 0.00B)
Data,single: Size:23.00GiB, Used:16.54GiB (71.93%)
/dev/sdd3 23.00GiB
Metadata,single: Size:3.00GiB, Used:588.94MiB (19.17%)
/dev/sdd3 3.00GiB
System,single: Size:32.00MiB, Used:16.00KiB (0.05%)
/dev/sdd3 32.00MiB
Unallocated:
/dev/sdd3 73.97GiB
Comments are welcome
BR
G.Baroncelli
--
gpg @keyserver.linux.it: Goffredo Baroncelli <kreijackATinwind.it>
Key fingerprint BBF5 1610 0B64 DAC6 5F7D 17B2 0EDA 9B37 8B82 E0B5
next reply other threads:[~2020-03-15 15:32 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-15 15:24 Goffredo Baroncelli [this message]
2020-03-15 15:24 ` [PATCH] New ioctl BTRFS_IOC_GET_CHUNK_INFO Goffredo Baroncelli
2020-03-19 14:42 ` Josef Bacik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200315152418.7784-1-kreijack@libero.it \
--to=kreijack@libero.it \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).