qg                114 fs/btrfs/qgroup.c static void btrfs_qgroup_update_old_refcnt(struct btrfs_qgroup *qg, u64 seq,
qg                117 fs/btrfs/qgroup.c 	if (qg->old_refcnt < seq)
qg                118 fs/btrfs/qgroup.c 		qg->old_refcnt = seq;
qg                119 fs/btrfs/qgroup.c 	qg->old_refcnt += mod;
qg                122 fs/btrfs/qgroup.c static void btrfs_qgroup_update_new_refcnt(struct btrfs_qgroup *qg, u64 seq,
qg                125 fs/btrfs/qgroup.c 	if (qg->new_refcnt < seq)
qg                126 fs/btrfs/qgroup.c 		qg->new_refcnt = seq;
qg                127 fs/btrfs/qgroup.c 	qg->new_refcnt += mod;
qg                130 fs/btrfs/qgroup.c static inline u64 btrfs_qgroup_get_old_refcnt(struct btrfs_qgroup *qg, u64 seq)
qg                132 fs/btrfs/qgroup.c 	if (qg->old_refcnt < seq)
qg                134 fs/btrfs/qgroup.c 	return qg->old_refcnt - seq;
qg                137 fs/btrfs/qgroup.c static inline u64 btrfs_qgroup_get_new_refcnt(struct btrfs_qgroup *qg, u64 seq)
qg                139 fs/btrfs/qgroup.c 	if (qg->new_refcnt < seq)
qg                141 fs/btrfs/qgroup.c 	return qg->new_refcnt - seq;
qg                154 fs/btrfs/qgroup.c static inline u64 qgroup_to_aux(struct btrfs_qgroup *qg)
qg                156 fs/btrfs/qgroup.c 	return (u64)(uintptr_t)qg;
qg               2216 fs/btrfs/qgroup.c 	struct btrfs_qgroup *qg;
qg               2223 fs/btrfs/qgroup.c 		qg = find_qgroup_rb(fs_info, unode->val);
qg               2224 fs/btrfs/qgroup.c 		if (!qg)
qg               2228 fs/btrfs/qgroup.c 		ret = ulist_add(qgroups, qg->qgroupid, qgroup_to_aux(qg),
qg               2232 fs/btrfs/qgroup.c 		ret = ulist_add(tmp, qg->qgroupid, qgroup_to_aux(qg), GFP_ATOMIC);
qg               2239 fs/btrfs/qgroup.c 			qg = unode_aux_to_qgroup(tmp_unode);
qg               2241 fs/btrfs/qgroup.c 				btrfs_qgroup_update_old_refcnt(qg, seq, 1);
qg               2243 fs/btrfs/qgroup.c 				btrfs_qgroup_update_new_refcnt(qg, seq, 1);
qg               2244 fs/btrfs/qgroup.c 			list_for_each_entry(glist, &qg->groups, next_group) {
qg               2305 fs/btrfs/qgroup.c 	struct btrfs_qgroup *qg;
qg               2312 fs/btrfs/qgroup.c 		qg = unode_aux_to_qgroup(unode);
qg               2313 fs/btrfs/qgroup.c 		cur_old_count = btrfs_qgroup_get_old_refcnt(qg, seq);
qg               2314 fs/btrfs/qgroup.c 		cur_new_count = btrfs_qgroup_get_new_refcnt(qg, seq);
qg               2316 fs/btrfs/qgroup.c 		trace_qgroup_update_counters(fs_info, qg, cur_old_count,
qg               2321 fs/btrfs/qgroup.c 			qg->rfer += num_bytes;
qg               2322 fs/btrfs/qgroup.c 			qg->rfer_cmpr += num_bytes;
qg               2326 fs/btrfs/qgroup.c 			qg->rfer -= num_bytes;
qg               2327 fs/btrfs/qgroup.c 			qg->rfer_cmpr -= num_bytes;
qg               2337 fs/btrfs/qgroup.c 				qg->excl -= num_bytes;
qg               2338 fs/btrfs/qgroup.c 				qg->excl_cmpr -= num_bytes;
qg               2348 fs/btrfs/qgroup.c 				qg->excl += num_bytes;
qg               2349 fs/btrfs/qgroup.c 				qg->excl_cmpr += num_bytes;
qg               2362 fs/btrfs/qgroup.c 					qg->excl += num_bytes;
qg               2363 fs/btrfs/qgroup.c 					qg->excl_cmpr += num_bytes;
qg               2372 fs/btrfs/qgroup.c 					qg->excl -= num_bytes;
qg               2373 fs/btrfs/qgroup.c 					qg->excl_cmpr -= num_bytes;
qg               2381 fs/btrfs/qgroup.c 			qgroup_dirty(fs_info, qg);
qg               2838 fs/btrfs/qgroup.c 				const struct btrfs_qgroup *qg, u64 num_bytes)
qg               2843 fs/btrfs/qgroup.c 	if ((qg->lim_flags & BTRFS_QGROUP_LIMIT_MAX_RFER) &&
qg               2844 fs/btrfs/qgroup.c 	    qgroup_rsv_total(qg) + (s64)qg->rfer + num_bytes > qg->max_rfer)
qg               2847 fs/btrfs/qgroup.c 	if ((qg->lim_flags & BTRFS_QGROUP_LIMIT_MAX_EXCL) &&
qg               2848 fs/btrfs/qgroup.c 	    qgroup_rsv_total(qg) + (s64)qg->excl + num_bytes > qg->max_excl)
qg               2857 fs/btrfs/qgroup.c 	if ((qg->lim_flags & (BTRFS_QGROUP_LIMIT_MAX_RFER |
qg               2859 fs/btrfs/qgroup.c 		if (qg->lim_flags & BTRFS_QGROUP_LIMIT_MAX_EXCL) {
qg               2860 fs/btrfs/qgroup.c 			free = qg->max_excl - qgroup_rsv_total(qg) - qg->excl;
qg               2861 fs/btrfs/qgroup.c 			threshold = min_t(u64, qg->max_excl / QGROUP_FREE_RATIO,
qg               2864 fs/btrfs/qgroup.c 			free = qg->max_rfer - qgroup_rsv_total(qg) - qg->rfer;
qg               2865 fs/btrfs/qgroup.c 			threshold = min_t(u64, qg->max_rfer / QGROUP_FREE_RATIO,
qg               2921 fs/btrfs/qgroup.c 		struct btrfs_qgroup *qg;
qg               2924 fs/btrfs/qgroup.c 		qg = unode_aux_to_qgroup(unode);
qg               2926 fs/btrfs/qgroup.c 		if (enforce && !qgroup_check_limits(fs_info, qg, num_bytes)) {
qg               2931 fs/btrfs/qgroup.c 		list_for_each_entry(glist, &qg->groups, next_group) {
qg               2945 fs/btrfs/qgroup.c 		struct btrfs_qgroup *qg;
qg               2947 fs/btrfs/qgroup.c 		qg = unode_aux_to_qgroup(unode);
qg               2949 fs/btrfs/qgroup.c 		qgroup_rsv_add(fs_info, qg, num_bytes, type);
qg               3010 fs/btrfs/qgroup.c 		struct btrfs_qgroup *qg;
qg               3013 fs/btrfs/qgroup.c 		qg = unode_aux_to_qgroup(unode);
qg               3015 fs/btrfs/qgroup.c 		qgroup_rsv_release(fs_info, qg, num_bytes, type);
qg               3017 fs/btrfs/qgroup.c 		list_for_each_entry(glist, &qg->groups, next_group) {
qg               3719 fs/btrfs/qgroup.c 		struct btrfs_qgroup *qg;
qg               3722 fs/btrfs/qgroup.c 		qg = unode_aux_to_qgroup(unode);
qg               3724 fs/btrfs/qgroup.c 		qgroup_rsv_release(fs_info, qg, num_bytes,
qg               3726 fs/btrfs/qgroup.c 		qgroup_rsv_add(fs_info, qg, num_bytes,
qg               3728 fs/btrfs/qgroup.c 		list_for_each_entry(glist, &qg->groups, next_group) {