|
@@ -1145,12 +1145,12 @@ int btrfs_qgroup_account_ref(struct btrfs_trans_handle *trans,
|
|
|
|
|
|
ulist_reinit(tmp);
|
|
|
/* XXX id not needed */
|
|
|
- ulist_add(tmp, qg->qgroupid, (u64)qg, GFP_ATOMIC);
|
|
|
+ ulist_add(tmp, qg->qgroupid, (u64)(uintptr_t)qg, GFP_ATOMIC);
|
|
|
ULIST_ITER_INIT(&tmp_uiter);
|
|
|
while ((tmp_unode = ulist_next(tmp, &tmp_uiter))) {
|
|
|
struct btrfs_qgroup_list *glist;
|
|
|
|
|
|
- qg = (struct btrfs_qgroup *)tmp_unode->aux;
|
|
|
+ qg = (struct btrfs_qgroup *)(uintptr_t)tmp_unode->aux;
|
|
|
if (qg->refcnt < seq)
|
|
|
qg->refcnt = seq + 1;
|
|
|
else
|
|
@@ -1158,7 +1158,7 @@ int btrfs_qgroup_account_ref(struct btrfs_trans_handle *trans,
|
|
|
|
|
|
list_for_each_entry(glist, &qg->groups, next_group) {
|
|
|
ulist_add(tmp, glist->group->qgroupid,
|
|
|
- (u64)glist->group,
|
|
|
+ (u64)(uintptr_t)glist->group,
|
|
|
GFP_ATOMIC);
|
|
|
}
|
|
|
}
|
|
@@ -1168,13 +1168,13 @@ int btrfs_qgroup_account_ref(struct btrfs_trans_handle *trans,
|
|
|
* step 2: walk from the new root
|
|
|
*/
|
|
|
ulist_reinit(tmp);
|
|
|
- ulist_add(tmp, qgroup->qgroupid, (u64)qgroup, GFP_ATOMIC);
|
|
|
+ ulist_add(tmp, qgroup->qgroupid, (uintptr_t)qgroup, GFP_ATOMIC);
|
|
|
ULIST_ITER_INIT(&uiter);
|
|
|
while ((unode = ulist_next(tmp, &uiter))) {
|
|
|
struct btrfs_qgroup *qg;
|
|
|
struct btrfs_qgroup_list *glist;
|
|
|
|
|
|
- qg = (struct btrfs_qgroup *)unode->aux;
|
|
|
+ qg = (struct btrfs_qgroup *)(uintptr_t)unode->aux;
|
|
|
if (qg->refcnt < seq) {
|
|
|
/* not visited by step 1 */
|
|
|
qg->rfer += sgn * node->num_bytes;
|
|
@@ -1190,7 +1190,7 @@ int btrfs_qgroup_account_ref(struct btrfs_trans_handle *trans,
|
|
|
|
|
|
list_for_each_entry(glist, &qg->groups, next_group) {
|
|
|
ulist_add(tmp, glist->group->qgroupid,
|
|
|
- (u64)glist->group, GFP_ATOMIC);
|
|
|
+ (uintptr_t)glist->group, GFP_ATOMIC);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1208,12 +1208,12 @@ int btrfs_qgroup_account_ref(struct btrfs_trans_handle *trans,
|
|
|
continue;
|
|
|
|
|
|
ulist_reinit(tmp);
|
|
|
- ulist_add(tmp, qg->qgroupid, (u64)qg, GFP_ATOMIC);
|
|
|
+ ulist_add(tmp, qg->qgroupid, (uintptr_t)qg, GFP_ATOMIC);
|
|
|
ULIST_ITER_INIT(&tmp_uiter);
|
|
|
while ((tmp_unode = ulist_next(tmp, &tmp_uiter))) {
|
|
|
struct btrfs_qgroup_list *glist;
|
|
|
|
|
|
- qg = (struct btrfs_qgroup *)tmp_unode->aux;
|
|
|
+ qg = (struct btrfs_qgroup *)(uintptr_t)tmp_unode->aux;
|
|
|
if (qg->tag == seq)
|
|
|
continue;
|
|
|
|
|
@@ -1225,7 +1225,7 @@ int btrfs_qgroup_account_ref(struct btrfs_trans_handle *trans,
|
|
|
|
|
|
list_for_each_entry(glist, &qg->groups, next_group) {
|
|
|
ulist_add(tmp, glist->group->qgroupid,
|
|
|
- (u64)glist->group,
|
|
|
+ (uintptr_t)glist->group,
|
|
|
GFP_ATOMIC);
|
|
|
}
|
|
|
}
|
|
@@ -1469,13 +1469,13 @@ int btrfs_qgroup_reserve(struct btrfs_root *root, u64 num_bytes)
|
|
|
* be exceeded
|
|
|
*/
|
|
|
ulist = ulist_alloc(GFP_ATOMIC);
|
|
|
- ulist_add(ulist, qgroup->qgroupid, (u64)qgroup, GFP_ATOMIC);
|
|
|
+ ulist_add(ulist, qgroup->qgroupid, (uintptr_t)qgroup, GFP_ATOMIC);
|
|
|
ULIST_ITER_INIT(&uiter);
|
|
|
while ((unode = ulist_next(ulist, &uiter))) {
|
|
|
struct btrfs_qgroup *qg;
|
|
|
struct btrfs_qgroup_list *glist;
|
|
|
|
|
|
- qg = (struct btrfs_qgroup *)unode->aux;
|
|
|
+ qg = (struct btrfs_qgroup *)(uintptr_t)unode->aux;
|
|
|
|
|
|
if ((qg->lim_flags & BTRFS_QGROUP_LIMIT_MAX_RFER) &&
|
|
|
qg->reserved + qg->rfer + num_bytes >
|
|
@@ -1489,7 +1489,7 @@ int btrfs_qgroup_reserve(struct btrfs_root *root, u64 num_bytes)
|
|
|
|
|
|
list_for_each_entry(glist, &qg->groups, next_group) {
|
|
|
ulist_add(ulist, glist->group->qgroupid,
|
|
|
- (u64)glist->group, GFP_ATOMIC);
|
|
|
+ (uintptr_t)glist->group, GFP_ATOMIC);
|
|
|
}
|
|
|
}
|
|
|
if (ret)
|
|
@@ -1502,7 +1502,7 @@ int btrfs_qgroup_reserve(struct btrfs_root *root, u64 num_bytes)
|
|
|
while ((unode = ulist_next(ulist, &uiter))) {
|
|
|
struct btrfs_qgroup *qg;
|
|
|
|
|
|
- qg = (struct btrfs_qgroup *)unode->aux;
|
|
|
+ qg = (struct btrfs_qgroup *)(uintptr_t)unode->aux;
|
|
|
|
|
|
qg->reserved += num_bytes;
|
|
|
}
|
|
@@ -1541,19 +1541,19 @@ void btrfs_qgroup_free(struct btrfs_root *root, u64 num_bytes)
|
|
|
goto out;
|
|
|
|
|
|
ulist = ulist_alloc(GFP_ATOMIC);
|
|
|
- ulist_add(ulist, qgroup->qgroupid, (u64)qgroup, GFP_ATOMIC);
|
|
|
+ ulist_add(ulist, qgroup->qgroupid, (uintptr_t)qgroup, GFP_ATOMIC);
|
|
|
ULIST_ITER_INIT(&uiter);
|
|
|
while ((unode = ulist_next(ulist, &uiter))) {
|
|
|
struct btrfs_qgroup *qg;
|
|
|
struct btrfs_qgroup_list *glist;
|
|
|
|
|
|
- qg = (struct btrfs_qgroup *)unode->aux;
|
|
|
+ qg = (struct btrfs_qgroup *)(uintptr_t)unode->aux;
|
|
|
|
|
|
qg->reserved -= num_bytes;
|
|
|
|
|
|
list_for_each_entry(glist, &qg->groups, next_group) {
|
|
|
ulist_add(ulist, glist->group->qgroupid,
|
|
|
- (u64)glist->group, GFP_ATOMIC);
|
|
|
+ (uintptr_t)glist->group, GFP_ATOMIC);
|
|
|
}
|
|
|
}
|
|
|
|