summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ordered-data.c
diff options
context:
space:
mode:
authorYan, Zheng <yanzheng@21cn.com>2009-12-28 05:01:58 +0000
committerChris Mason <chris.mason@oracle.com>2010-01-17 20:06:27 -0500
commita038fab0cb873c75d6675e2bcffce8a3935bdce7 (patch)
treef128cf83728dccb1a5f392acb053ceccb4491aa3 /fs/btrfs/ordered-data.c
parent406266ab9ac8ed8b085c58aacd9e3161480dc5d5 (diff)
downloadlinux-a038fab0cb873c75d6675e2bcffce8a3935bdce7.tar.gz
linux-a038fab0cb873c75d6675e2bcffce8a3935bdce7.tar.bz2
linux-a038fab0cb873c75d6675e2bcffce8a3935bdce7.zip
Btrfs: align offsets for btrfs_ordered_update_i_size
Some callers of btrfs_ordered_update_i_size can now pass in a NULL for the ordered extent to update against. This makes sure we properly align the offset they pass in when deciding how much to bump the on disk i_size. Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/ordered-data.c')
-rw-r--r--fs/btrfs/ordered-data.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/btrfs/ordered-data.c b/fs/btrfs/ordered-data.c
index b10a49d4bc6a..5c2a9e78a949 100644
--- a/fs/btrfs/ordered-data.c
+++ b/fs/btrfs/ordered-data.c
@@ -626,6 +626,8 @@ int btrfs_ordered_update_i_size(struct inode *inode, u64 offset,
if (ordered)
offset = entry_end(ordered);
+ else
+ offset = ALIGN(offset, BTRFS_I(inode)->root->sectorsize);
mutex_lock(&tree->mutex);
disk_i_size = BTRFS_I(inode)->disk_i_size;