summaryrefslogtreecommitdiff
path: root/fs/btrfs/ordered-data.c
diff options
context:
space:
mode:
authorYan Zheng <zheng.yan@oracle.com>2008-08-04 23:23:47 -0400
committerChris Mason <chris.mason@oracle.com>2008-09-25 11:04:06 -0400
commitb48652c101cce7a54379a49cc0cf854cec2c94e2 (patch)
tree13e8250b326b71fed80811e1ed3b19b00beded31 /fs/btrfs/ordered-data.c
parent3de9d6b649b4cc60687be92e71cef36d7d4e8f2f (diff)
downloadlwn-b48652c101cce7a54379a49cc0cf854cec2c94e2.tar.gz
lwn-b48652c101cce7a54379a49cc0cf854cec2c94e2.zip
Btrfs: Various small fixes.
This trivial patch contains two locking fixes and a off by one fix. --- Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/ordered-data.c')
-rw-r--r--fs/btrfs/ordered-data.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/btrfs/ordered-data.c b/fs/btrfs/ordered-data.c
index 676e4bd65c52..db200e6baf7e 100644
--- a/fs/btrfs/ordered-data.c
+++ b/fs/btrfs/ordered-data.c
@@ -548,7 +548,7 @@ int btrfs_ordered_update_i_size(struct inode *inode,
*/
test = rb_entry(node, struct btrfs_ordered_extent, rb_node);
if (test->file_offset > entry_end(ordered)) {
- i_size_test = test->file_offset - 1;
+ i_size_test = test->file_offset;
}
} else {
i_size_test = i_size_read(inode);
@@ -561,7 +561,7 @@ int btrfs_ordered_update_i_size(struct inode *inode,
* disk_i_size to the end of the region.
*/
if (i_size_test > entry_end(ordered) &&
- !test_range_bit(io_tree, entry_end(ordered), i_size_test,
+ !test_range_bit(io_tree, entry_end(ordered), i_size_test - 1,
EXTENT_DELALLOC, 0)) {
new_i_size = min_t(u64, i_size_test, i_size_read(inode));
}