Skip to content

Commit

Permalink
btrfs: use list_for_each_entry* in backref.c
Browse files Browse the repository at this point in the history
Use list_for_each_entry*() to simplify the code.

Signed-off-by: Geliang Tang <[email protected]>
Reviewed-by: David Sterba <[email protected]>
Signed-off-by: David Sterba <[email protected]>
  • Loading branch information
geliangtang authored and kdave committed Jan 7, 2016
1 parent 7ae1681 commit a7ca422
Showing 1 changed file with 6 additions and 17 deletions.
23 changes: 6 additions & 17 deletions fs/btrfs/backref.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 __prelim_ref *ref;
struct extent_buffer *eb;

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

list_for_each_entry(ref, head, list) {
if (ref->parent)
continue;
if (ref->key_for_search.type)
Expand Down Expand Up @@ -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;
struct __prelim_ref *ref1;

list_for_each(pos1, head) {
struct list_head *n2;
struct list_head *pos2;
struct __prelim_ref *ref1;
list_for_each_entry(ref1, head, list) {
struct __prelim_ref *ref2 = ref1, *tmp;

ref1 = list_entry(pos1, struct __prelim_ref, list);

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) {
Expand Down

0 comments on commit a7ca422

Please sign in to comment.