aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/send.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/send.c')
-rw-r--r--fs/btrfs/send.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c
index 19b7bf4284ee..8d358c547c59 100644
--- a/fs/btrfs/send.c
+++ b/fs/btrfs/send.c
@@ -4449,9 +4449,9 @@ static ssize_t fill_read_buf(struct send_ctx *sctx, u64 offset, u32 len)
4449 struct page *page; 4449 struct page *page;
4450 char *addr; 4450 char *addr;
4451 struct btrfs_key key; 4451 struct btrfs_key key;
4452 pgoff_t index = offset >> PAGE_CACHE_SHIFT; 4452 pgoff_t index = offset >> PAGE_SHIFT;
4453 pgoff_t last_index; 4453 pgoff_t last_index;
4454 unsigned pg_offset = offset & ~PAGE_CACHE_MASK; 4454 unsigned pg_offset = offset & ~PAGE_MASK;
4455 ssize_t ret = 0; 4455 ssize_t ret = 0;
4456 4456
4457 key.objectid = sctx->cur_ino; 4457 key.objectid = sctx->cur_ino;
@@ -4471,7 +4471,7 @@ static ssize_t fill_read_buf(struct send_ctx *sctx, u64 offset, u32 len)
4471 if (len == 0) 4471 if (len == 0)
4472 goto out; 4472 goto out;
4473 4473
4474 last_index = (offset + len - 1) >> PAGE_CACHE_SHIFT; 4474 last_index = (offset + len - 1) >> PAGE_SHIFT;
4475 4475
4476 /* initial readahead */ 4476 /* initial readahead */
4477 memset(&sctx->ra, 0, sizeof(struct file_ra_state)); 4477 memset(&sctx->ra, 0, sizeof(struct file_ra_state));
@@ -4481,7 +4481,7 @@ static ssize_t fill_read_buf(struct send_ctx *sctx, u64 offset, u32 len)
4481 4481
4482 while (index <= last_index) { 4482 while (index <= last_index) {
4483 unsigned cur_len = min_t(unsigned, len, 4483 unsigned cur_len = min_t(unsigned, len,
4484 PAGE_CACHE_SIZE - pg_offset); 4484 PAGE_SIZE - pg_offset);
4485 page = find_or_create_page(inode->i_mapping, index, GFP_KERNEL); 4485 page = find_or_create_page(inode->i_mapping, index, GFP_KERNEL);
4486 if (!page) { 4486 if (!page) {
4487 ret = -ENOMEM; 4487 ret = -ENOMEM;
@@ -4493,7 +4493,7 @@ static ssize_t fill_read_buf(struct send_ctx *sctx, u64 offset, u32 len)
4493 lock_page(page); 4493 lock_page(page);
4494 if (!PageUptodate(page)) { 4494 if (!PageUptodate(page)) {
4495 unlock_page(page); 4495 unlock_page(page);
4496 page_cache_release(page); 4496 put_page(page);
4497 ret = -EIO; 4497 ret = -EIO;
4498 break; 4498 break;
4499 } 4499 }
@@ -4503,7 +4503,7 @@ static ssize_t fill_read_buf(struct send_ctx *sctx, u64 offset, u32 len)
4503 memcpy(sctx->read_buf + ret, addr + pg_offset, cur_len); 4503 memcpy(sctx->read_buf + ret, addr + pg_offset, cur_len);
4504 kunmap(page); 4504 kunmap(page);
4505 unlock_page(page); 4505 unlock_page(page);
4506 page_cache_release(page); 4506 put_page(page);
4507 index++; 4507 index++;
4508 pg_offset = 0; 4508 pg_offset = 0;
4509 len -= cur_len; 4509 len -= cur_len;
@@ -4804,7 +4804,7 @@ static int clone_range(struct send_ctx *sctx,
4804 type = btrfs_file_extent_type(leaf, ei); 4804 type = btrfs_file_extent_type(leaf, ei);
4805 if (type == BTRFS_FILE_EXTENT_INLINE) { 4805 if (type == BTRFS_FILE_EXTENT_INLINE) {
4806 ext_len = btrfs_file_extent_inline_len(leaf, slot, ei); 4806 ext_len = btrfs_file_extent_inline_len(leaf, slot, ei);
4807 ext_len = PAGE_CACHE_ALIGN(ext_len); 4807 ext_len = PAGE_ALIGN(ext_len);
4808 } else { 4808 } else {
4809 ext_len = btrfs_file_extent_num_bytes(leaf, ei); 4809 ext_len = btrfs_file_extent_num_bytes(leaf, ei);
4810 } 4810 }
@@ -4886,7 +4886,7 @@ static int send_write_or_clone(struct send_ctx *sctx,
4886 * but there may be items after this page. Make 4886 * but there may be items after this page. Make
4887 * sure to send the whole thing 4887 * sure to send the whole thing
4888 */ 4888 */
4889 len = PAGE_CACHE_ALIGN(len); 4889 len = PAGE_ALIGN(len);
4890 } else { 4890 } else {
4891 len = btrfs_file_extent_num_bytes(path->nodes[0], ei); 4891 len = btrfs_file_extent_num_bytes(path->nodes[0], ei);
4892 } 4892 }