summaryrefslogtreecommitdiff
path: root/cmds-filesystem.c
diff options
context:
space:
mode:
authorDavid Sterba <dsterba@suse.cz>2014-04-29 17:57:01 +0200
committerDavid Sterba <dsterba@suse.cz>2014-08-28 02:03:33 +0200
commitda5db5596ca3dcdbc6edf3e79534c36610bf6fbb (patch)
tree5f9944db07c24c588c97b358a72188a2a1e58c51 /cmds-filesystem.c
parent5f1313a45d5ed89e7bb7efab3bb7b62a42b7b30f (diff)
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>
Diffstat (limited to 'cmds-filesystem.c')
-rw-r--r--cmds-filesystem.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/cmds-filesystem.c b/cmds-filesystem.c
index 7e8ca950..0301442f 100644
--- a/cmds-filesystem.c
+++ b/cmds-filesystem.c
@@ -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";
}