summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmds-filesystem.c7
-rw-r--r--ctree.h6
2 files changed, 12 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";
}
diff --git a/ctree.h b/ctree.h
index 6fa1ca69..93b85851 100644
--- a/ctree.h
+++ b/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