diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index c846482e79850ff2ba3a7eb97bfb23932fa44782..88f9df7bfdaee77dcc65b223b8afbc0b61ee35d2 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -4233,6 +4233,11 @@ struct extent_map *btrfs_get_extent(struct inode *inode, struct page *page, map = kmap(page); read_extent_buffer(leaf, map + pg_offset, ptr, copy_size); + if (pg_offset + copy_size < PAGE_CACHE_SIZE) { + memset(map + pg_offset + copy_size, 0, + PAGE_CACHE_SIZE - pg_offset - + copy_size); + } kunmap(page); } flush_dcache_page(page);