Commit 2e1a992e authored by Chris Mason's avatar Chris Mason

Btrfs: Make sure bio pages are adjacent during bulk csumming

Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
parent 6885f308
...@@ -161,7 +161,6 @@ int btrfs_csum_file_blocks(struct btrfs_trans_handle *trans, ...@@ -161,7 +161,6 @@ int btrfs_csum_file_blocks(struct btrfs_trans_handle *trans,
unsigned long map_len; unsigned long map_len;
unsigned long map_start; unsigned long map_start;
path = btrfs_alloc_path(); path = btrfs_alloc_path();
BUG_ON(!path); BUG_ON(!path);
again: again:
...@@ -315,9 +314,12 @@ int btrfs_csum_file_blocks(struct btrfs_trans_handle *trans, ...@@ -315,9 +314,12 @@ int btrfs_csum_file_blocks(struct btrfs_trans_handle *trans,
if (bio_index < bio->bi_vcnt) { if (bio_index < bio->bi_vcnt) {
item = (struct btrfs_csum_item *)((char *)item + item = (struct btrfs_csum_item *)((char *)item +
BTRFS_CRC32_SIZE); BTRFS_CRC32_SIZE);
if (item < item_end) if (item < item_end && offset + PAGE_CACHE_SIZE ==
page_offset(bvec->bv_page)) {
offset = page_offset(bvec->bv_page);
goto next_bvec; goto next_bvec;
} }
}
if (eb_token) { if (eb_token) {
unmap_extent_buffer(leaf, eb_token, KM_IRQ1); unmap_extent_buffer(leaf, eb_token, KM_IRQ1);
eb_token = NULL; eb_token = NULL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment