summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Sterba <dsterba@suse.com>2026-05-23 19:33:41 +0300
committerJohannes Thumshirn <johannes.thumshirn@wdc.com>2026-06-09 19:22:44 +0300
commit32e67e8da7dc3f258e8f609a129ab8b5d460d167 (patch)
treead9382c3ccd1ce5c69052f98e3c44ebf8add988f
parent21a3533b99b8a53a026cc9f5041b10795c1f3ae8 (diff)
downloadlinux-32e67e8da7dc3f258e8f609a129ab8b5d460d167.tar.xz
btrfs: add message format for qgroupid
The qgroupid has a specific format, add common format specifier, similar to what we have for checksums and keys. Reviewed-by: Boris Burkov <boris@bur.io> Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r--fs/btrfs/fs.h4
-rw-r--r--fs/btrfs/qgroup.c25
2 files changed, 14 insertions, 15 deletions
diff --git a/fs/btrfs/fs.h b/fs/btrfs/fs.h
index e7ec8ebabf21..da87292420fa 100644
--- a/fs/btrfs/fs.h
+++ b/fs/btrfs/fs.h
@@ -95,6 +95,10 @@ static_assert(sizeof(struct btrfs_super_block) == BTRFS_SUPER_INFO_SIZE);
#define BTRFS_KEY_FMT "(%llu %u %llu)"
#define BTRFS_KEY_FMT_VALUE(key) (key)->objectid, (key)->type, (key)->offset
+#define BTRFS_QGROUP_FMT "%hu/%llu"
+#define BTRFS_QGROUP_FMT_VALUE(qgroup) btrfs_qgroup_level((qgroup)->qgroupid), \
+ btrfs_qgroup_subvolid((qgroup)->qgroupid)
+
/*
* Number of metadata items necessary for an unlink operation:
*
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 384622bd7869..502fb4a55cb2 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -373,10 +373,9 @@ static bool squota_check_parent_usage(struct btrfs_fs_info *fs_info, struct btrf
parent->excl_cmpr != excl_cmpr_sum || parent->rfer_cmpr != rfer_cmpr_sum);
WARN(mismatch,
- "parent squota qgroup %hu/%llu has mismatched usage from its %d members. "
+ "parent squota qgroup " BTRFS_QGROUP_FMT " has mismatched usage from its %d members. "
"%llu %llu %llu %llu vs %llu %llu %llu %llu\n",
- btrfs_qgroup_level(parent->qgroupid),
- btrfs_qgroup_subvolid(parent->qgroupid), nr_members, parent->excl,
+ BTRFS_QGROUP_FMT_VALUE(parent), nr_members, parent->excl,
parent->rfer, parent->excl_cmpr, parent->rfer_cmpr, excl_sum,
rfer_sum, excl_cmpr_sum, rfer_cmpr_sum);
return mismatch;
@@ -652,9 +651,8 @@ bool btrfs_check_quota_leak(const struct btrfs_fs_info *fs_info)
if (qgroup->rsv.values[i]) {
ret = true;
btrfs_warn(fs_info,
- "qgroup %hu/%llu has unreleased space, type %d rsv %llu",
- btrfs_qgroup_level(qgroup->qgroupid),
- btrfs_qgroup_subvolid(qgroup->qgroupid),
+ "qgroup " BTRFS_QGROUP_FMT " has unreleased space, type %d rsv %llu",
+ BTRFS_QGROUP_FMT_VALUE(qgroup),
i, qgroup->rsv.values[i]);
}
}
@@ -1863,9 +1861,8 @@ int btrfs_remove_qgroup(struct btrfs_trans_handle *trans, u64 qgroupid)
qgroup->rsv.values[BTRFS_QGROUP_RSV_META_PERTRANS])) {
DEBUG_WARN();
btrfs_warn_rl(fs_info,
-"to be deleted qgroup %u/%llu has non-zero numbers, data %llu meta prealloc %llu meta pertrans %llu",
- btrfs_qgroup_level(qgroup->qgroupid),
- btrfs_qgroup_subvolid(qgroup->qgroupid),
+"to be deleted qgroup " BTRFS_QGROUP_FMT " has non-zero numbers, data %llu meta prealloc %llu meta pertrans %llu",
+ BTRFS_QGROUP_FMT_VALUE(qgroup),
qgroup->rsv.values[BTRFS_QGROUP_RSV_DATA],
qgroup->rsv.values[BTRFS_QGROUP_RSV_META_PREALLOC],
qgroup->rsv.values[BTRFS_QGROUP_RSV_META_PERTRANS]);
@@ -1883,9 +1880,8 @@ int btrfs_remove_qgroup(struct btrfs_trans_handle *trans, u64 qgroupid)
qgroup->rfer_cmpr || qgroup->excl_cmpr)) {
DEBUG_WARN();
qgroup_mark_inconsistent(fs_info,
- "to be deleted qgroup %u/%llu has non-zero numbers, rfer %llu rfer_cmpr %llu excl %llu excl_cmpr %llu",
- btrfs_qgroup_level(qgroup->qgroupid),
- btrfs_qgroup_subvolid(qgroup->qgroupid),
+"to be deleted qgroup " BTRFS_QGROUP_FMT " has non-zero numbers, rfer %llu rfer_cmpr %llu excl %llu excl_cmpr %llu",
+ BTRFS_QGROUP_FMT_VALUE(qgroup),
qgroup->rfer, qgroup->rfer_cmpr,
qgroup->excl, qgroup->excl_cmpr);
}
@@ -4971,9 +4967,8 @@ int btrfs_record_squota_delta(struct btrfs_fs_info *fs_info,
ASSERT(qg->excl == qg->rfer);
if (WARN_ON_ONCE(sign < 0 && qg->excl < num_bytes)) {
btrfs_warn(fs_info,
- "squota underflow qg %hu/%llu excl %llu num_bytes %llu",
- btrfs_qgroup_level(qg->qgroupid),
- btrfs_qgroup_subvolid(qg->qgroupid),
+ "squota underflow qg " BTRFS_QGROUP_FMT " excl %llu num_bytes %llu",
+ BTRFS_QGROUP_FMT_VALUE(qg),
qg->excl, num_bytes);
qg->excl = 0;
qg->rfer = 0;