unsigned blkbits = i_blkbits;
        unsigned blocksize_mask = (1 << blkbits) - 1;
        ssize_t retval = -EINVAL;
-       size_t count = iov_iter_count(iter);
+       const size_t count = iov_iter_count(iter);
        loff_t offset = iocb->ki_pos;
-       loff_t end = offset + count;
+       const loff_t end = offset + count;
        struct dio *dio;
        struct dio_submit sdio = { 0, };
        struct buffer_head map_bh = { 0, };
        }
 
        /* watch out for a 0 len io from a tricksy fs */
-       if (iov_iter_rw(iter) == READ && !iov_iter_count(iter))
+       if (iov_iter_rw(iter) == READ && !count)
                return 0;
 
        dio = kmem_cache_alloc(dio_cache, GFP_KERNEL);
 
        dio->should_dirty = (iter->type == ITER_IOVEC);
        sdio.iter = iter;
-       sdio.final_block_in_request =
-               (offset + iov_iter_count(iter)) >> blkbits;
+       sdio.final_block_in_request = end >> blkbits;
 
        /*
         * In case of non-aligned buffers, we may need 2 more