mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git
synced 2024-12-13 22:23:25 +08:00
btrfs-progs: read global reserve size from space infos
Kernels >= 3.15 export the global block reserve as a space info presented by 'btrfs fi df' but would display 'unknown' instead of some meaningful string. Signed-off-by: David Sterba <dsterba@suse.cz>
This commit is contained in:
parent
5f1313a45d
commit
da5db5596c
@ -120,7 +120,10 @@ static const char * const cmd_df_usage[] = {
|
||||
|
||||
static char *group_type_str(u64 flag)
|
||||
{
|
||||
switch (flag & BTRFS_BLOCK_GROUP_TYPE_MASK) {
|
||||
u64 mask = BTRFS_BLOCK_GROUP_TYPE_MASK |
|
||||
BTRFS_SPACE_INFO_GLOBAL_RSV;
|
||||
|
||||
switch (flag & mask) {
|
||||
case BTRFS_BLOCK_GROUP_DATA:
|
||||
return "Data";
|
||||
case BTRFS_BLOCK_GROUP_SYSTEM:
|
||||
@ -129,6 +132,8 @@ static char *group_type_str(u64 flag)
|
||||
return "Metadata";
|
||||
case BTRFS_BLOCK_GROUP_DATA|BTRFS_BLOCK_GROUP_METADATA:
|
||||
return "Data+Metadata";
|
||||
case BTRFS_SPACE_INFO_GLOBAL_RSV:
|
||||
return "GlobalReserve";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
|
6
ctree.h
6
ctree.h
@ -860,6 +860,12 @@ struct btrfs_csum_item {
|
||||
/* used in struct btrfs_balance_args fields */
|
||||
#define BTRFS_AVAIL_ALLOC_BIT_SINGLE (1ULL << 48)
|
||||
|
||||
/*
|
||||
* GLOBAL_RSV does not exist as a on-disk block group type and is used
|
||||
* internally for exporting info about global block reserve from space infos
|
||||
*/
|
||||
#define BTRFS_SPACE_INFO_GLOBAL_RSV (1ULL << 49)
|
||||
|
||||
#define BTRFS_QGROUP_STATUS_OFF 0
|
||||
#define BTRFS_QGROUP_STATUS_ON 1
|
||||
#define BTRFS_QGROUP_STATUS_SCANNING 2
|
||||
|
Loading…
Reference in New Issue
Block a user