diff options
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r-- | fs/btrfs/inode.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 01c6fca925f7..f935fad17838 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c | |||
@@ -1822,6 +1822,10 @@ static void btrfs_clear_bit_hook(struct inode *inode, | |||
1822 | /* | 1822 | /* |
1823 | * extent_io.c merge_bio_hook, this must check the chunk tree to make sure | 1823 | * extent_io.c merge_bio_hook, this must check the chunk tree to make sure |
1824 | * we don't create bios that span stripes or chunks | 1824 | * we don't create bios that span stripes or chunks |
1825 | * | ||
1826 | * return 1 if page cannot be merged to bio | ||
1827 | * return 0 if page can be merged to bio | ||
1828 | * return error otherwise | ||
1825 | */ | 1829 | */ |
1826 | int btrfs_merge_bio_hook(int rw, struct page *page, unsigned long offset, | 1830 | int btrfs_merge_bio_hook(int rw, struct page *page, unsigned long offset, |
1827 | size_t size, struct bio *bio, | 1831 | size_t size, struct bio *bio, |
@@ -1840,8 +1844,8 @@ int btrfs_merge_bio_hook(int rw, struct page *page, unsigned long offset, | |||
1840 | map_length = length; | 1844 | map_length = length; |
1841 | ret = btrfs_map_block(root->fs_info, rw, logical, | 1845 | ret = btrfs_map_block(root->fs_info, rw, logical, |
1842 | &map_length, NULL, 0); | 1846 | &map_length, NULL, 0); |
1843 | /* Will always return 0 with map_multi == NULL */ | 1847 | if (ret < 0) |
1844 | BUG_ON(ret < 0); | 1848 | return ret; |
1845 | if (map_length < length + size) | 1849 | if (map_length < length + size) |
1846 | return 1; | 1850 | return 1; |
1847 | return 0; | 1851 | return 0; |