diff options
Diffstat (limited to 'net/rds/rds.h')
-rw-r--r-- | net/rds/rds.h | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/net/rds/rds.h b/net/rds/rds.h index 6bfaf05b63b2..02ec4a3b2799 100644 --- a/net/rds/rds.h +++ b/net/rds/rds.h | |||
@@ -386,6 +386,18 @@ static inline void rds_message_zcopy_queue_init(struct rds_msg_zcopy_queue *q) | |||
386 | INIT_LIST_HEAD(&q->zcookie_head); | 386 | INIT_LIST_HEAD(&q->zcookie_head); |
387 | } | 387 | } |
388 | 388 | ||
389 | struct rds_iov_vector { | ||
390 | struct rds_iovec *iov; | ||
391 | int len; | ||
392 | }; | ||
393 | |||
394 | struct rds_iov_vector_arr { | ||
395 | struct rds_iov_vector *vec; | ||
396 | int len; | ||
397 | int indx; | ||
398 | int incr; | ||
399 | }; | ||
400 | |||
389 | struct rds_message { | 401 | struct rds_message { |
390 | refcount_t m_refcount; | 402 | refcount_t m_refcount; |
391 | struct list_head m_sock_item; | 403 | struct list_head m_sock_item; |
@@ -827,7 +839,8 @@ rds_conn_connecting(struct rds_connection *conn) | |||
827 | 839 | ||
828 | /* message.c */ | 840 | /* message.c */ |
829 | struct rds_message *rds_message_alloc(unsigned int nents, gfp_t gfp); | 841 | struct rds_message *rds_message_alloc(unsigned int nents, gfp_t gfp); |
830 | struct scatterlist *rds_message_alloc_sgs(struct rds_message *rm, int nents); | 842 | struct scatterlist *rds_message_alloc_sgs(struct rds_message *rm, int nents, |
843 | int *ret); | ||
831 | int rds_message_copy_from_user(struct rds_message *rm, struct iov_iter *from, | 844 | int rds_message_copy_from_user(struct rds_message *rm, struct iov_iter *from, |
832 | bool zcopy); | 845 | bool zcopy); |
833 | struct rds_message *rds_message_map_pages(unsigned long *page_addrs, unsigned int total_len); | 846 | struct rds_message *rds_message_map_pages(unsigned long *page_addrs, unsigned int total_len); |
@@ -904,13 +917,13 @@ int rds_get_mr(struct rds_sock *rs, char __user *optval, int optlen); | |||
904 | int rds_get_mr_for_dest(struct rds_sock *rs, char __user *optval, int optlen); | 917 | int rds_get_mr_for_dest(struct rds_sock *rs, char __user *optval, int optlen); |
905 | int rds_free_mr(struct rds_sock *rs, char __user *optval, int optlen); | 918 | int rds_free_mr(struct rds_sock *rs, char __user *optval, int optlen); |
906 | void rds_rdma_drop_keys(struct rds_sock *rs); | 919 | void rds_rdma_drop_keys(struct rds_sock *rs); |
907 | int rds_rdma_extra_size(struct rds_rdma_args *args); | 920 | int rds_rdma_extra_size(struct rds_rdma_args *args, |
908 | int rds_cmsg_rdma_args(struct rds_sock *rs, struct rds_message *rm, | 921 | struct rds_iov_vector *iov); |
909 | struct cmsghdr *cmsg); | ||
910 | int rds_cmsg_rdma_dest(struct rds_sock *rs, struct rds_message *rm, | 922 | int rds_cmsg_rdma_dest(struct rds_sock *rs, struct rds_message *rm, |
911 | struct cmsghdr *cmsg); | 923 | struct cmsghdr *cmsg); |
912 | int rds_cmsg_rdma_args(struct rds_sock *rs, struct rds_message *rm, | 924 | int rds_cmsg_rdma_args(struct rds_sock *rs, struct rds_message *rm, |
913 | struct cmsghdr *cmsg); | 925 | struct cmsghdr *cmsg, |
926 | struct rds_iov_vector *vec); | ||
914 | int rds_cmsg_rdma_map(struct rds_sock *rs, struct rds_message *rm, | 927 | int rds_cmsg_rdma_map(struct rds_sock *rs, struct rds_message *rm, |
915 | struct cmsghdr *cmsg); | 928 | struct cmsghdr *cmsg); |
916 | void rds_rdma_free_op(struct rm_rdma_op *ro); | 929 | void rds_rdma_free_op(struct rm_rdma_op *ro); |