btrfs: qgroup: use qgroup_iterator to replace tmp ulist in qgroup_update_refcnt()
authorQu Wenruo <wqu@suse.com>
Sat, 2 Sep 2023 00:13:56 +0000 (08:13 +0800)
committerDavid Sterba <dsterba@suse.com>
Thu, 12 Oct 2023 14:44:03 +0000 (16:44 +0200)
commita4a81383fbf8c4e17ea6bbc7f005be98f5ece61b
tree15e36fa35600025f15fdc91020cf479459ff2779
parenta0bdc04b073233b2fbd3c3ab039e74c617566d6c
btrfs: qgroup: use qgroup_iterator to replace tmp ulist in qgroup_update_refcnt()

For function qgroup_update_refcnt(), we use @tmp list to iterate all the
involved qgroups of a subvolume.

It's a perfect match for qgroup_iterator facility, as that @tmp ulist
has a very limited lifespan (just inside the while() loop).

By migrating to qgroup_iterator, we can get rid of the GFP_ATOMIC memory
allocation and no error handling is needed.

Reviewed-by: Boris Burkov <boris@bur.io>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/qgroup.c