* @opf:       bio REQ_OP_* and REQ_* flags as one value
  * @wbc:       optional writeback control for io accounting
  * @page:      page to add to the bio
+ * @disk_bytenr: logical bytenr where the write will be
+ * @size:      portion of page that we want to write to
  * @pg_offset: offset of the new bio or to check whether we are adding
  *              a contiguous page to the previous one
- * @size:      portion of page that we want to write
- * @offset:    starting offset in the page
  * @bio_ret:   must be valid pointer, newly allocated bio will be stored there
  * @end_io_func:     end_io callback for new bio
  * @mirror_num:             desired mirror to read/write
  */
 static int submit_extent_page(unsigned int opf,
                              struct writeback_control *wbc,
-                             struct page *page, u64 offset,
+                             struct page *page, u64 disk_bytenr,
                              size_t size, unsigned long pg_offset,
                              struct bio **bio_ret,
                              bio_end_io_t end_io_func,
        int ret = 0;
        struct bio *bio;
        size_t io_size = min_t(size_t, size, PAGE_SIZE);
-       sector_t sector = offset >> 9;
+       sector_t sector = disk_bytenr >> 9;
        struct extent_io_tree *tree = &BTRFS_I(page->mapping->host)->io_tree;
 
        ASSERT(bio_ret);
                }
        }
 
-       bio = btrfs_bio_alloc(offset);
+       bio = btrfs_bio_alloc(disk_bytenr);
        bio_add_page(bio, page, io_size, pg_offset);
        bio->bi_end_io = end_io_func;
        bio->bi_private = tree;
        }
        while (cur <= end) {
                bool force_bio_submit = false;
-               u64 offset;
+               u64 disk_bytenr;
 
                if (cur >= last_byte) {
                        char *userpage;
                cur_end = min(extent_map_end(em) - 1, end);
                iosize = ALIGN(iosize, blocksize);
                if (this_bio_flag & EXTENT_BIO_COMPRESSED)
-                       offset = em->block_start;
+                       disk_bytenr = em->block_start;
                else
-                       offset = em->block_start + extent_offset;
+                       disk_bytenr = em->block_start + extent_offset;
                block_start = em->block_start;
                if (test_bit(EXTENT_FLAG_PREALLOC, &em->flags))
                        block_start = EXTENT_MAP_HOLE;
                }
 
                ret = submit_extent_page(REQ_OP_READ | read_flags, NULL,
-                                        page, offset, iosize,
+                                        page, disk_bytenr, iosize,
                                         pg_offset, bio,
                                         end_bio_extent_readpage, 0,
                                         *bio_flags,
        blocksize = inode->vfs_inode.i_sb->s_blocksize;
 
        while (cur <= end) {
+               u64 disk_bytenr;
                u64 em_end;
-               u64 offset;
 
                if (cur >= i_size) {
                        btrfs_writepage_endio_finish_ordered(page, cur,
                BUG_ON(end < cur);
                iosize = min(em_end - cur, end - cur + 1);
                iosize = ALIGN(iosize, blocksize);
-               offset = em->block_start + extent_offset;
+               disk_bytenr = em->block_start + extent_offset;
                block_start = em->block_start;
                compressed = test_bit(EXTENT_FLAG_COMPRESSED, &em->flags);
                free_extent_map(em);
                }
 
                ret = submit_extent_page(REQ_OP_WRITE | write_flags, wbc,
-                                        page, offset, iosize, pg_offset,
+                                        page, disk_bytenr, iosize, pg_offset,
                                         &epd->bio,
                                         end_bio_extent_writepage,
                                         0, 0, 0, false);
                        struct writeback_control *wbc,
                        struct extent_page_data *epd)
 {
-       u64 offset = eb->start;
+       u64 disk_bytenr = eb->start;
        u32 nritems;
        int i, num_pages;
        unsigned long start, end;
                clear_page_dirty_for_io(p);
                set_page_writeback(p);
                ret = submit_extent_page(REQ_OP_WRITE | write_flags, wbc,
-                                        p, offset, PAGE_SIZE, 0,
+                                        p, disk_bytenr, PAGE_SIZE, 0,
                                         &epd->bio,
                                         end_bio_extent_buffer_writepage,
                                         0, 0, 0, false);
                        ret = -EIO;
                        break;
                }
-               offset += PAGE_SIZE;
+               disk_bytenr += PAGE_SIZE;
                update_nr_written(wbc, 1);
                unlock_page(p);
        }