mirror of
https://github.com/kdave/btrfs-progs
synced 2024-12-25 07:32:22 +00:00
btrfs-progs: backref: add list_first_pref helper
Signed-off-by: Jeff Mahoney <jeffm@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
3ae36b3b0f
commit
e520de0dbb
11
backref.c
11
backref.c
@ -130,6 +130,11 @@ struct __prelim_ref {
|
||||
u64 wanted_disk_byte;
|
||||
};
|
||||
|
||||
static struct __prelim_ref *list_first_pref(struct list_head *head)
|
||||
{
|
||||
return list_first_entry(head, struct __prelim_ref, list);
|
||||
}
|
||||
|
||||
struct pref_state {
|
||||
struct list_head pending;
|
||||
};
|
||||
@ -803,8 +808,7 @@ static int find_parent_nodes(struct btrfs_trans_handle *trans,
|
||||
__merge_refs(&prefstate, 2);
|
||||
|
||||
while (!list_empty(&prefstate.pending)) {
|
||||
ref = list_first_entry(&prefstate.pending,
|
||||
struct __prelim_ref, list);
|
||||
ref = list_first_pref(&prefstate.pending);
|
||||
WARN_ON(ref->count < 0);
|
||||
if (roots && ref->count && ref->root_id && ref->parent == 0) {
|
||||
/* no parent == root of tree */
|
||||
@ -854,8 +858,7 @@ static int find_parent_nodes(struct btrfs_trans_handle *trans,
|
||||
out:
|
||||
btrfs_free_path(path);
|
||||
while (!list_empty(&prefstate.pending)) {
|
||||
ref = list_first_entry(&prefstate.pending,
|
||||
struct __prelim_ref, list);
|
||||
ref = list_first_pref(&prefstate.pending);
|
||||
list_del(&ref->list);
|
||||
kfree(ref);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user