Lines Matching refs:subbuf

1023 xdr_buf_subsegment(struct xdr_buf *buf, struct xdr_buf *subbuf,  in xdr_buf_subsegment()  argument
1026 subbuf->buflen = subbuf->len = len; in xdr_buf_subsegment()
1028 subbuf->head[0].iov_base = buf->head[0].iov_base + base; in xdr_buf_subsegment()
1029 subbuf->head[0].iov_len = min_t(unsigned int, len, in xdr_buf_subsegment()
1031 len -= subbuf->head[0].iov_len; in xdr_buf_subsegment()
1035 subbuf->head[0].iov_len = 0; in xdr_buf_subsegment()
1039 subbuf->page_len = min(buf->page_len - base, len); in xdr_buf_subsegment()
1041 subbuf->page_base = base & ~PAGE_CACHE_MASK; in xdr_buf_subsegment()
1042 subbuf->pages = &buf->pages[base >> PAGE_CACHE_SHIFT]; in xdr_buf_subsegment()
1043 len -= subbuf->page_len; in xdr_buf_subsegment()
1047 subbuf->page_len = 0; in xdr_buf_subsegment()
1051 subbuf->tail[0].iov_base = buf->tail[0].iov_base + base; in xdr_buf_subsegment()
1052 subbuf->tail[0].iov_len = min_t(unsigned int, len, in xdr_buf_subsegment()
1054 len -= subbuf->tail[0].iov_len; in xdr_buf_subsegment()
1058 subbuf->tail[0].iov_len = 0; in xdr_buf_subsegment()
1108 static void __read_bytes_from_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len) in __read_bytes_from_xdr_buf() argument
1112 this_len = min_t(unsigned int, len, subbuf->head[0].iov_len); in __read_bytes_from_xdr_buf()
1113 memcpy(obj, subbuf->head[0].iov_base, this_len); in __read_bytes_from_xdr_buf()
1116 this_len = min_t(unsigned int, len, subbuf->page_len); in __read_bytes_from_xdr_buf()
1118 _copy_from_pages(obj, subbuf->pages, subbuf->page_base, this_len); in __read_bytes_from_xdr_buf()
1121 this_len = min_t(unsigned int, len, subbuf->tail[0].iov_len); in __read_bytes_from_xdr_buf()
1122 memcpy(obj, subbuf->tail[0].iov_base, this_len); in __read_bytes_from_xdr_buf()
1128 struct xdr_buf subbuf; in read_bytes_from_xdr_buf() local
1131 status = xdr_buf_subsegment(buf, &subbuf, base, len); in read_bytes_from_xdr_buf()
1134 __read_bytes_from_xdr_buf(&subbuf, obj, len); in read_bytes_from_xdr_buf()
1139 static void __write_bytes_to_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len) in __write_bytes_to_xdr_buf() argument
1143 this_len = min_t(unsigned int, len, subbuf->head[0].iov_len); in __write_bytes_to_xdr_buf()
1144 memcpy(subbuf->head[0].iov_base, obj, this_len); in __write_bytes_to_xdr_buf()
1147 this_len = min_t(unsigned int, len, subbuf->page_len); in __write_bytes_to_xdr_buf()
1149 _copy_to_pages(subbuf->pages, subbuf->page_base, obj, this_len); in __write_bytes_to_xdr_buf()
1152 this_len = min_t(unsigned int, len, subbuf->tail[0].iov_len); in __write_bytes_to_xdr_buf()
1153 memcpy(subbuf->tail[0].iov_base, obj, this_len); in __write_bytes_to_xdr_buf()
1159 struct xdr_buf subbuf; in write_bytes_to_xdr_buf() local
1162 status = xdr_buf_subsegment(buf, &subbuf, base, len); in write_bytes_to_xdr_buf()
1165 __write_bytes_to_xdr_buf(&subbuf, obj, len); in write_bytes_to_xdr_buf()
1199 struct xdr_buf subbuf; in xdr_buf_read_netobj() local
1203 if (xdr_buf_subsegment(buf, &subbuf, offset + 4, obj->len)) in xdr_buf_read_netobj()
1207 obj->data = subbuf.head[0].iov_base; in xdr_buf_read_netobj()
1208 if (subbuf.head[0].iov_len == obj->len) in xdr_buf_read_netobj()
1211 obj->data = subbuf.tail[0].iov_base; in xdr_buf_read_netobj()
1212 if (subbuf.tail[0].iov_len == obj->len) in xdr_buf_read_netobj()
1226 __read_bytes_from_xdr_buf(&subbuf, obj->data, obj->len); in xdr_buf_read_netobj()