diff options
author | Josef Bacik <josef@redhat.com> | 2012-03-13 09:38:00 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2012-03-26 17:04:23 -0400 |
commit | 0b32f4bbb423f02acee6d43cd442f5f0775db7e0 (patch) | |
tree | 1963e5420071e70274bf77c05373dabd43bac675 /fs/btrfs/inode.c | |
parent | 5df4235ea15bd39f441ef334d8329b3d46b2cc57 (diff) |
Btrfs: ensure an entire eb is written at once
This patch simplifies how we track our extent buffers. Previously we could exit
writepages with only having written half of an extent buffer, which meant we had
to track the state of the pages and the state of the extent buffers differently.
Now we only read in entire extent buffers and write out entire extent buffers,
this allows us to simply set bits in our bflags to indicate the state of the eb
and we no longer have to do things like track uptodate with our iotree. Thanks,
Signed-off-by: Josef Bacik <josef@redhat.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r-- | fs/btrfs/inode.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index bb268193d85d..341a8670165f 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c | |||
@@ -6782,6 +6782,8 @@ struct inode *btrfs_alloc_inode(struct super_block *sb) | |||
6782 | extent_map_tree_init(&ei->extent_tree); | 6782 | extent_map_tree_init(&ei->extent_tree); |
6783 | extent_io_tree_init(&ei->io_tree, &inode->i_data); | 6783 | extent_io_tree_init(&ei->io_tree, &inode->i_data); |
6784 | extent_io_tree_init(&ei->io_failure_tree, &inode->i_data); | 6784 | extent_io_tree_init(&ei->io_failure_tree, &inode->i_data); |
6785 | ei->io_tree.track_uptodate = 1; | ||
6786 | ei->io_failure_tree.track_uptodate = 1; | ||
6785 | mutex_init(&ei->log_mutex); | 6787 | mutex_init(&ei->log_mutex); |
6786 | mutex_init(&ei->delalloc_mutex); | 6788 | mutex_init(&ei->delalloc_mutex); |
6787 | btrfs_ordered_inode_tree_init(&ei->ordered_tree); | 6789 | btrfs_ordered_inode_tree_init(&ei->ordered_tree); |