diff options
author | Jeff Mahoney <jeffm@suse.com> | 2017-07-25 16:51:36 -0400 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2017-10-06 13:41:08 +0200 |
commit | e520de0dbb3207e45e06b05b1eb08f1764e0935e (patch) | |
tree | 4dc0712c5c61d3816ada7443514f137b7df6bd8d | |
parent | 3ae36b3b0f13326df8b38ff4a4df1ce47fccd417 (diff) |
btrfs-progs: backref: add list_first_pref helper
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r-- | backref.c | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -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); } |