diff options
author | Wang Shilong <[email protected]> | 2014-07-17 11:44:11 +0800 |
---|---|---|
committer | Chris Mason <[email protected]> | 2014-09-17 13:37:39 -0700 |
commit | 354877befa852e9b62ddc92a6cc017210e982d46 (patch) | |
tree | 2b10b2f8bd487eae38f0d8a82d5ba7bbd6548136 | |
parent | 7816030eb48e00a36ecdc23d484b960922feee67 (diff) |
Btrfs: fix off-by-one in cow_file_range_inline()
Btrfs could still inline file data if its size is same as
page size, so don't skip max value here.
Signed-off-by: Wang Shilong <[email protected]>
Reviewed-by: David Sterba <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
-rw-r--r-- | fs/btrfs/inode.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index d1c69beb054f..75c6de26405c 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -249,8 +249,8 @@ static noinline int cow_file_range_inline(struct btrfs_root *root, data_len = compressed_size; if (start > 0 || - actual_end >= PAGE_CACHE_SIZE || - data_len >= BTRFS_MAX_INLINE_DATA_SIZE(root) || + actual_end > PAGE_CACHE_SIZE || + data_len > BTRFS_MAX_INLINE_DATA_SIZE(root) || (!compressed_size && (actual_end & (root->sectorsize - 1)) == 0) || end + 1 < isize || |