Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a7ca4225 authored by Geliang Tang's avatar Geliang Tang Committed by David Sterba
Browse files

btrfs: use list_for_each_entry* in backref.c



Use list_for_each_entry*() to simplify the code.

Signed-off-by: default avatarGeliang Tang <geliangtang@163.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 7ae1681e
Loading
Loading
Loading
Loading
+6 −17
Original line number Diff line number Diff line
@@ -520,13 +520,10 @@ static inline int ref_for_same_block(struct __prelim_ref *ref1,
static int __add_missing_keys(struct btrfs_fs_info *fs_info,
			      struct list_head *head)
{
	struct list_head *pos;
	struct extent_buffer *eb;

	list_for_each(pos, head) {
	struct __prelim_ref *ref;
		ref = list_entry(pos, struct __prelim_ref, list);
	struct extent_buffer *eb;

	list_for_each_entry(ref, head, list) {
		if (ref->parent)
			continue;
		if (ref->key_for_search.type)
@@ -563,23 +560,15 @@ static int __add_missing_keys(struct btrfs_fs_info *fs_info,
 */
static void __merge_refs(struct list_head *head, int mode)
{
	struct list_head *pos1;

	list_for_each(pos1, head) {
		struct list_head *n2;
		struct list_head *pos2;
	struct __prelim_ref *ref1;

		ref1 = list_entry(pos1, struct __prelim_ref, list);
	list_for_each_entry(ref1, head, list) {
		struct __prelim_ref *ref2 = ref1, *tmp;

		for (pos2 = pos1->next, n2 = pos2->next; pos2 != head;
		     pos2 = n2, n2 = pos2->next) {
			struct __prelim_ref *ref2;
		list_for_each_entry_safe_continue(ref2, tmp, head, list) {
			struct __prelim_ref *xchg;
			struct extent_inode_elem *eie;

			ref2 = list_entry(pos2, struct __prelim_ref, list);

			if (!ref_for_same_block(ref1, ref2))
				continue;
			if (mode == 1) {