summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosef Bacik <jbacik@fusionio.com>2012-10-15 13:33:54 -0400
committerChris Mason <chris.mason@fusionio.com>2012-12-16 20:46:25 -0500
commited7b63eb8afd0bb8d978a23184d70c105b54aa26 (patch)
tree63a4dd9371818be8f98f272d5ea12fd41715c1bb
parentbb146eb265091f472ada52a3419d41e9b0ff1f7d (diff)
downloadlinux-3.10-ed7b63eb8afd0bb8d978a23184d70c105b54aa26.tar.gz
linux-3.10-ed7b63eb8afd0bb8d978a23184d70c105b54aa26.tar.bz2
linux-3.10-ed7b63eb8afd0bb8d978a23184d70c105b54aa26.zip
Btrfs: only clear dirty on the buffer if it is marked as dirty
No reason to set the path blocking or loop through all of the pages if the extent buffer isn't actually marked dirty. Thanks, Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
-rw-r--r--fs/btrfs/disk-io.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index b8f7f04a640..65f03670a95 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -1142,11 +1142,11 @@ void clean_tree_block(struct btrfs_trans_handle *trans, struct btrfs_root *root,
root->fs_info->dirty_metadata_bytes);
}
spin_unlock(&root->fs_info->delalloc_lock);
- }
- /* ugh, clear_extent_buffer_dirty needs to lock the page */
- btrfs_set_lock_blocking(buf);
- clear_extent_buffer_dirty(buf);
+ /* ugh, clear_extent_buffer_dirty needs to lock the page */
+ btrfs_set_lock_blocking(buf);
+ clear_extent_buffer_dirty(buf);
+ }
}
}