*/
 static noinline_for_stack int writepage_delalloc(struct btrfs_inode *inode,
                struct page *page, struct writeback_control *wbc,
-               u64 delalloc_start, unsigned long *nr_written)
+               unsigned long *nr_written)
 {
-       u64 page_end = delalloc_start + PAGE_SIZE - 1;
+       u64 page_end = page_offset(page) + PAGE_SIZE - 1;
        bool found;
+       u64 delalloc_start = page_offset(page);
        u64 delalloc_to_write = 0;
        u64 delalloc_end = 0;
        int ret;
                              struct extent_page_data *epd)
 {
        struct inode *inode = page->mapping->host;
-       u64 start = page_offset(page);
-       u64 page_end = start + PAGE_SIZE - 1;
+       const u64 page_start = page_offset(page);
+       const u64 page_end = page_start + PAGE_SIZE - 1;
        int ret;
        int nr = 0;
        size_t pg_offset;
        }
 
        if (!epd->extent_locked) {
-               ret = writepage_delalloc(BTRFS_I(inode), page, wbc, start,
-                                        &nr_written);
+               ret = writepage_delalloc(BTRFS_I(inode), page, wbc, &nr_written);
                if (ret == 1)
                        return 0;
                if (ret)
         * capable of that.
         */
        if (PageError(page))
-               end_extent_writepage(page, ret, start, page_end);
+               end_extent_writepage(page, ret, page_start, page_end);
        unlock_page(page);
        ASSERT(ret <= 0);
        return ret;