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

Commit 06d3d22b authored by Liu Bo's avatar Liu Bo Committed by Chris Mason
Browse files

Btrfs: cleanup extents after we finish logging inode



This is based on Josef's "Btrfs: turbo charge fsync".

We should cleanup those extents after we've finished logging inode,
otherwise we may do redundant work on them.

Signed-off-by: default avatarLiu Bo <bo.li.liu@oracle.com>
parent 0fa83cdb
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -3167,6 +3167,12 @@ static int btrfs_log_inode(struct btrfs_trans_handle *trans,
			err = ret;
			goto out_unlock;
		}
	} else {
		struct extent_map_tree *tree = &BTRFS_I(inode)->extent_tree;
		struct extent_map *em, *n;

		list_for_each_entry_safe(em, n, &tree->modified_extents, list)
			list_del_init(&em->list);
	}

	if (inode_only == LOG_INODE_ALL && S_ISDIR(inode->i_mode)) {