diff options
author | Chandan Rajendra <chandan@linux.vnet.ibm.com> | 2016-01-21 11:25:58 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2016-02-01 19:24:29 +0100 |
commit | dbfdb6d1b369b88253af1cd71723437d152b0b50 (patch) | |
tree | 1823ea5a0d8c276886b41478234b91d800058aaa /fs/btrfs/extent_io.c | |
parent | Btrfs: btrfs_page_mkwrite: Reserve space in sectorsized units (diff) | |
download | linux-dbfdb6d1b369b88253af1cd71723437d152b0b50.tar.xz linux-dbfdb6d1b369b88253af1cd71723437d152b0b50.zip |
Btrfs: Search for all ordered extents that could span across a page
In subpagesize-blocksize scenario it is not sufficient to search using the
first byte of the page to make sure that there are no ordered extents
present across the page. Fix this.
Signed-off-by: Chandan Rajendra <chandan@linux.vnet.ibm.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/extent_io.c')
-rw-r--r-- | fs/btrfs/extent_io.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 2e7c97a3f344..1b2073389dc2 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -3186,7 +3186,8 @@ static int __extent_read_full_page(struct extent_io_tree *tree, while (1) { lock_extent(tree, start, end); - ordered = btrfs_lookup_ordered_extent(inode, start); + ordered = btrfs_lookup_ordered_range(inode, start, + PAGE_CACHE_SIZE); if (!ordered) break; unlock_extent(tree, start, end); |