Commit ef2fff64 authored by David Sterba's avatar David Sterba Committed by David Sterba

btrfs: rename helper macros for qgroup and aux data casts

The helpers are not meant to be generic, the name is misleading. Convert
them to static inlines for type checking.
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 5d9dbe61
...@@ -131,8 +131,15 @@ struct btrfs_qgroup_list { ...@@ -131,8 +131,15 @@ struct btrfs_qgroup_list {
struct btrfs_qgroup *member; struct btrfs_qgroup *member;
}; };
#define ptr_to_u64(x) ((u64)(uintptr_t)x) static inline u64 qgroup_to_aux(struct btrfs_qgroup *qg)
#define u64_to_ptr(x) ((struct btrfs_qgroup *)(uintptr_t)x) {
return (u64)(uintptr_t)qg;
}
static inline struct btrfs_qgroup* unode_aux_to_qgroup(struct ulist_node *n)
{
return (struct btrfs_qgroup *)(uintptr_t)n->aux;
}
static int static int
qgroup_rescan_init(struct btrfs_fs_info *fs_info, u64 progress_objectid, qgroup_rescan_init(struct btrfs_fs_info *fs_info, u64 progress_objectid,
...@@ -1066,7 +1073,7 @@ static int __qgroup_excl_accounting(struct btrfs_fs_info *fs_info, ...@@ -1066,7 +1073,7 @@ static int __qgroup_excl_accounting(struct btrfs_fs_info *fs_info,
/* Get all of the parent groups that contain this qgroup */ /* Get all of the parent groups that contain this qgroup */
list_for_each_entry(glist, &qgroup->groups, next_group) { list_for_each_entry(glist, &qgroup->groups, next_group) {
ret = ulist_add(tmp, glist->group->qgroupid, ret = ulist_add(tmp, glist->group->qgroupid,
ptr_to_u64(glist->group), GFP_ATOMIC); qgroup_to_aux(glist->group), GFP_ATOMIC);
if (ret < 0) if (ret < 0)
goto out; goto out;
} }
...@@ -1074,7 +1081,7 @@ static int __qgroup_excl_accounting(struct btrfs_fs_info *fs_info, ...@@ -1074,7 +1081,7 @@ static int __qgroup_excl_accounting(struct btrfs_fs_info *fs_info,
/* Iterate all of the parents and adjust their reference counts */ /* Iterate all of the parents and adjust their reference counts */
ULIST_ITER_INIT(&uiter); ULIST_ITER_INIT(&uiter);
while ((unode = ulist_next(tmp, &uiter))) { while ((unode = ulist_next(tmp, &uiter))) {
qgroup = u64_to_ptr(unode->aux); qgroup = unode_aux_to_qgroup(unode);
qgroup->rfer += sign * num_bytes; qgroup->rfer += sign * num_bytes;
qgroup->rfer_cmpr += sign * num_bytes; qgroup->rfer_cmpr += sign * num_bytes;
WARN_ON(sign < 0 && qgroup->excl < num_bytes); WARN_ON(sign < 0 && qgroup->excl < num_bytes);
...@@ -1087,7 +1094,7 @@ static int __qgroup_excl_accounting(struct btrfs_fs_info *fs_info, ...@@ -1087,7 +1094,7 @@ static int __qgroup_excl_accounting(struct btrfs_fs_info *fs_info,
/* Add any parents of the parents */ /* Add any parents of the parents */
list_for_each_entry(glist, &qgroup->groups, next_group) { list_for_each_entry(glist, &qgroup->groups, next_group) {
ret = ulist_add(tmp, glist->group->qgroupid, ret = ulist_add(tmp, glist->group->qgroupid,
ptr_to_u64(glist->group), GFP_ATOMIC); qgroup_to_aux(glist->group), GFP_ATOMIC);
if (ret < 0) if (ret < 0)
goto out; goto out;
} }
...@@ -1535,30 +1542,30 @@ static int qgroup_update_refcnt(struct btrfs_fs_info *fs_info, ...@@ -1535,30 +1542,30 @@ static int qgroup_update_refcnt(struct btrfs_fs_info *fs_info,
continue; continue;
ulist_reinit(tmp); ulist_reinit(tmp);
ret = ulist_add(qgroups, qg->qgroupid, ptr_to_u64(qg), ret = ulist_add(qgroups, qg->qgroupid, qgroup_to_aux(qg),
GFP_ATOMIC); GFP_ATOMIC);
if (ret < 0) if (ret < 0)
return ret; return ret;
ret = ulist_add(tmp, qg->qgroupid, ptr_to_u64(qg), GFP_ATOMIC); ret = ulist_add(tmp, qg->qgroupid, qgroup_to_aux(qg), GFP_ATOMIC);
if (ret < 0) if (ret < 0)
return ret; return ret;
ULIST_ITER_INIT(&tmp_uiter); ULIST_ITER_INIT(&tmp_uiter);
while ((tmp_unode = ulist_next(tmp, &tmp_uiter))) { while ((tmp_unode = ulist_next(tmp, &tmp_uiter))) {
struct btrfs_qgroup_list *glist; struct btrfs_qgroup_list *glist;
qg = u64_to_ptr(tmp_unode->aux); qg = unode_aux_to_qgroup(tmp_unode);
if (update_old) if (update_old)
btrfs_qgroup_update_old_refcnt(qg, seq, 1); btrfs_qgroup_update_old_refcnt(qg, seq, 1);
else else
btrfs_qgroup_update_new_refcnt(qg, seq, 1); btrfs_qgroup_update_new_refcnt(qg, seq, 1);
list_for_each_entry(glist, &qg->groups, next_group) { list_for_each_entry(glist, &qg->groups, next_group) {
ret = ulist_add(qgroups, glist->group->qgroupid, ret = ulist_add(qgroups, glist->group->qgroupid,
ptr_to_u64(glist->group), qgroup_to_aux(glist->group),
GFP_ATOMIC); GFP_ATOMIC);
if (ret < 0) if (ret < 0)
return ret; return ret;
ret = ulist_add(tmp, glist->group->qgroupid, ret = ulist_add(tmp, glist->group->qgroupid,
ptr_to_u64(glist->group), qgroup_to_aux(glist->group),
GFP_ATOMIC); GFP_ATOMIC);
if (ret < 0) if (ret < 0)
return ret; return ret;
...@@ -1619,7 +1626,7 @@ static int qgroup_update_counters(struct btrfs_fs_info *fs_info, ...@@ -1619,7 +1626,7 @@ static int qgroup_update_counters(struct btrfs_fs_info *fs_info,
while ((unode = ulist_next(qgroups, &uiter))) { while ((unode = ulist_next(qgroups, &uiter))) {
bool dirty = false; bool dirty = false;
qg = u64_to_ptr(unode->aux); qg = unode_aux_to_qgroup(unode);
cur_old_count = btrfs_qgroup_get_old_refcnt(qg, seq); cur_old_count = btrfs_qgroup_get_old_refcnt(qg, seq);
cur_new_count = btrfs_qgroup_get_new_refcnt(qg, seq); cur_new_count = btrfs_qgroup_get_new_refcnt(qg, seq);
...@@ -2125,7 +2132,7 @@ static int qgroup_reserve(struct btrfs_root *root, u64 num_bytes) ...@@ -2125,7 +2132,7 @@ static int qgroup_reserve(struct btrfs_root *root, u64 num_bytes)
struct btrfs_qgroup *qg; struct btrfs_qgroup *qg;
struct btrfs_qgroup_list *glist; struct btrfs_qgroup_list *glist;
qg = u64_to_ptr(unode->aux); qg = unode_aux_to_qgroup(unode);
if ((qg->lim_flags & BTRFS_QGROUP_LIMIT_MAX_RFER) && if ((qg->lim_flags & BTRFS_QGROUP_LIMIT_MAX_RFER) &&
qg->reserved + (s64)qg->rfer + num_bytes > qg->reserved + (s64)qg->rfer + num_bytes >
...@@ -2157,7 +2164,7 @@ static int qgroup_reserve(struct btrfs_root *root, u64 num_bytes) ...@@ -2157,7 +2164,7 @@ static int qgroup_reserve(struct btrfs_root *root, u64 num_bytes)
while ((unode = ulist_next(fs_info->qgroup_ulist, &uiter))) { while ((unode = ulist_next(fs_info->qgroup_ulist, &uiter))) {
struct btrfs_qgroup *qg; struct btrfs_qgroup *qg;
qg = u64_to_ptr(unode->aux); qg = unode_aux_to_qgroup(unode);
qg->reserved += num_bytes; qg->reserved += num_bytes;
} }
...@@ -2202,7 +2209,7 @@ void btrfs_qgroup_free_refroot(struct btrfs_fs_info *fs_info, ...@@ -2202,7 +2209,7 @@ void btrfs_qgroup_free_refroot(struct btrfs_fs_info *fs_info,
struct btrfs_qgroup *qg; struct btrfs_qgroup *qg;
struct btrfs_qgroup_list *glist; struct btrfs_qgroup_list *glist;
qg = u64_to_ptr(unode->aux); qg = unode_aux_to_qgroup(unode);
qg->reserved -= num_bytes; qg->reserved -= num_bytes;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment