struct svc_rqst *rqstp = sd->u.data;
        struct page **pp = rqstp->rq_next_page;
        struct page *page = buf->page;
-       size_t size;
-
-       size = sd->len;
 
        if (rqstp->rq_res.page_len == 0) {
                get_page(page);
                put_page(*rqstp->rq_next_page);
                *(rqstp->rq_next_page++) = page;
                rqstp->rq_res.page_base = buf->offset;
-               rqstp->rq_res.page_len = size;
        } else if (page != pp[-1]) {
                get_page(page);
                if (*rqstp->rq_next_page)
                        put_page(*rqstp->rq_next_page);
                *(rqstp->rq_next_page++) = page;
-               rqstp->rq_res.page_len += size;
-       } else
-               rqstp->rq_res.page_len += size;
+       }
+       rqstp->rq_res.page_len += sd->len;
 
-       return size;
+       return sd->len;
 }
 
 static int nfsd_direct_splice_actor(struct pipe_inode_info *pipe,