summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Mahoney <jeffm@suse.com>2017-07-25 16:51:36 -0400
committerDavid Sterba <dsterba@suse.com>2017-10-06 13:41:08 +0200
commite520de0dbb3207e45e06b05b1eb08f1764e0935e (patch)
tree4dc0712c5c61d3816ada7443514f137b7df6bd8d
parent3ae36b3b0f13326df8b38ff4a4df1ce47fccd417 (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.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/backref.c b/backref.c
index 127951c5..305cd053 100644
--- a/backref.c
+++ b/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);
}