int               svc_encode_result_payload(struct svc_rqst *rqstp,
                                             unsigned int offset,
                                             unsigned int length);
-unsigned int      svc_fill_write_vector(struct svc_rqst *rqstp,
-                                        const struct xdr_buf *payload);
 char             *svc_fill_symlink_pathname(struct svc_rqst *rqstp,
                                             struct kvec *first, void *p,
                                             size_t total);
 
 }
 EXPORT_SYMBOL_GPL(svc_encode_result_payload);
 
-/**
- * svc_fill_write_vector - Construct data argument for VFS write call
- * @rqstp: svc_rqst to operate on
- * @payload: xdr_buf containing only the write data payload
- *
- * Fills in rqstp::rq_vec, and returns the number of elements.
- */
-unsigned int svc_fill_write_vector(struct svc_rqst *rqstp,
-                                  const struct xdr_buf *payload)
-{
-       const struct kvec *first = payload->head;
-       struct page **pages = payload->pages;
-       struct kvec *vec = rqstp->rq_vec;
-       size_t total = payload->len;
-       unsigned int i;
-
-       /* Some types of transport can present the write payload
-        * entirely in rq_arg.pages. In this case, @first is empty.
-        */
-       i = 0;
-       if (first->iov_len) {
-               vec[i].iov_base = first->iov_base;
-               vec[i].iov_len = min_t(size_t, total, first->iov_len);
-               total -= vec[i].iov_len;
-               ++i;
-       }
-
-       while (total) {
-               vec[i].iov_base = page_address(*pages);
-               vec[i].iov_len = min_t(size_t, total, PAGE_SIZE);
-               total -= vec[i].iov_len;
-               ++i;
-               ++pages;
-       }
-
-       WARN_ON_ONCE(i > ARRAY_SIZE(rqstp->rq_vec));
-       return i;
-}
-EXPORT_SYMBOL_GPL(svc_fill_write_vector);
-
 /**
  * svc_fill_symlink_pathname - Construct pathname argument for VFS symlink call
  * @rqstp: svc_rqst to operate on