struct page *page;
        char *kaddr;
        char *dst = (char *)dstv;
-       size_t start_offset = offset_in_page(eb->start);
-       unsigned long i = (start_offset + start) >> PAGE_SHIFT;
+       unsigned long i = start >> PAGE_SHIFT;
 
        if (start + len > eb->len) {
                WARN(1, KERN_ERR "btrfs bad mapping eb start %llu len %lu, wanted %lu %lu\n",
                return;
        }
 
-       offset = offset_in_page(start_offset + start);
+       offset = offset_in_page(start);
 
        while (len > 0) {
                page = eb->pages[i];
        struct page *page;
        char *kaddr;
        char __user *dst = (char __user *)dstv;
-       size_t start_offset = offset_in_page(eb->start);
-       unsigned long i = (start_offset + start) >> PAGE_SHIFT;
+       unsigned long i = start >> PAGE_SHIFT;
        int ret = 0;
 
        WARN_ON(start > eb->len);
        WARN_ON(start + len > eb->start + eb->len);
 
-       offset = offset_in_page(start_offset + start);
+       offset = offset_in_page(start);
 
        while (len > 0) {
                page = eb->pages[i];
        struct page *page;
        char *kaddr;
        char *ptr = (char *)ptrv;
-       size_t start_offset = offset_in_page(eb->start);
-       unsigned long i = (start_offset + start) >> PAGE_SHIFT;
+       unsigned long i = start >> PAGE_SHIFT;
        int ret = 0;
 
        WARN_ON(start > eb->len);
        WARN_ON(start + len > eb->start + eb->len);
 
-       offset = offset_in_page(start_offset + start);
+       offset = offset_in_page(start);
 
        while (len > 0) {
                page = eb->pages[i];
        struct page *page;
        char *kaddr;
        char *src = (char *)srcv;
-       size_t start_offset = offset_in_page(eb->start);
-       unsigned long i = (start_offset + start) >> PAGE_SHIFT;
+       unsigned long i = start >> PAGE_SHIFT;
 
        WARN_ON(start > eb->len);
        WARN_ON(start + len > eb->start + eb->len);
 
-       offset = offset_in_page(start_offset + start);
+       offset = offset_in_page(start);
 
        while (len > 0) {
                page = eb->pages[i];
        size_t offset;
        struct page *page;
        char *kaddr;
-       size_t start_offset = offset_in_page(eb->start);
-       unsigned long i = (start_offset + start) >> PAGE_SHIFT;
+       unsigned long i = start >> PAGE_SHIFT;
 
        WARN_ON(start > eb->len);
        WARN_ON(start + len > eb->start + eb->len);
 
-       offset = offset_in_page(start_offset + start);
+       offset = offset_in_page(start);
 
        while (len > 0) {
                page = eb->pages[i];
        size_t offset;
        struct page *page;
        char *kaddr;
-       size_t start_offset = offset_in_page(dst->start);
-       unsigned long i = (start_offset + dst_offset) >> PAGE_SHIFT;
+       unsigned long i = dst_offset >> PAGE_SHIFT;
 
        WARN_ON(src->len != dst_len);
 
-       offset = offset_in_page(start_offset + dst_offset);
+       offset = offset_in_page(dst_offset);
 
        while (len > 0) {
                page = dst->pages[i];
                                    unsigned long *page_index,
                                    size_t *page_offset)
 {
-       size_t start_offset = offset_in_page(eb->start);
        size_t byte_offset = BIT_BYTE(nr);
        size_t offset;
 
         * the bitmap item in the extent buffer + the offset of the byte in the
         * bitmap item.
         */
-       offset = start_offset + start + byte_offset;
+       offset = start + byte_offset;
 
        *page_index = offset >> PAGE_SHIFT;
        *page_offset = offset_in_page(offset);
        size_t cur;
        size_t dst_off_in_page;
        size_t src_off_in_page;
-       size_t start_offset = offset_in_page(dst->start);
        unsigned long dst_i;
        unsigned long src_i;
 
        }
 
        while (len > 0) {
-               dst_off_in_page = offset_in_page(start_offset + dst_offset);
-               src_off_in_page = offset_in_page(start_offset + src_offset);
+               dst_off_in_page = offset_in_page(dst_offset);
+               src_off_in_page = offset_in_page(src_offset);
 
-               dst_i = (start_offset + dst_offset) >> PAGE_SHIFT;
-               src_i = (start_offset + src_offset) >> PAGE_SHIFT;
+               dst_i = dst_offset >> PAGE_SHIFT;
+               src_i = src_offset >> PAGE_SHIFT;
 
                cur = min(len, (unsigned long)(PAGE_SIZE -
                                               src_off_in_page));
        size_t src_off_in_page;
        unsigned long dst_end = dst_offset + len - 1;
        unsigned long src_end = src_offset + len - 1;
-       size_t start_offset = offset_in_page(dst->start);
        unsigned long dst_i;
        unsigned long src_i;
 
                return;
        }
        while (len > 0) {
-               dst_i = (start_offset + dst_end) >> PAGE_SHIFT;
-               src_i = (start_offset + src_end) >> PAGE_SHIFT;
+               dst_i = dst_end >> PAGE_SHIFT;
+               src_i = src_end >> PAGE_SHIFT;
 
-               dst_off_in_page = offset_in_page(start_offset + dst_end);
-               src_off_in_page = offset_in_page(start_offset + src_end);
+               dst_off_in_page = offset_in_page(dst_end);
+               src_off_in_page = offset_in_page(src_end);
 
                cur = min_t(unsigned long, len, src_off_in_page + 1);
                cur = min(cur, dst_off_in_page + 1);