Lines Matching refs:subbuf

1387 xdr_buf_subsegment(struct xdr_buf *buf, struct xdr_buf *subbuf,  in xdr_buf_subsegment()  argument
1390 subbuf->buflen = subbuf->len = len; in xdr_buf_subsegment()
1392 subbuf->head[0].iov_base = buf->head[0].iov_base + base; in xdr_buf_subsegment()
1393 subbuf->head[0].iov_len = min_t(unsigned int, len, in xdr_buf_subsegment()
1395 len -= subbuf->head[0].iov_len; in xdr_buf_subsegment()
1399 subbuf->head[0].iov_base = buf->head[0].iov_base; in xdr_buf_subsegment()
1400 subbuf->head[0].iov_len = 0; in xdr_buf_subsegment()
1404 subbuf->page_len = min(buf->page_len - base, len); in xdr_buf_subsegment()
1406 subbuf->page_base = base & ~PAGE_MASK; in xdr_buf_subsegment()
1407 subbuf->pages = &buf->pages[base >> PAGE_SHIFT]; in xdr_buf_subsegment()
1408 len -= subbuf->page_len; in xdr_buf_subsegment()
1412 subbuf->pages = buf->pages; in xdr_buf_subsegment()
1413 subbuf->page_base = 0; in xdr_buf_subsegment()
1414 subbuf->page_len = 0; in xdr_buf_subsegment()
1418 subbuf->tail[0].iov_base = buf->tail[0].iov_base + base; in xdr_buf_subsegment()
1419 subbuf->tail[0].iov_len = min_t(unsigned int, len, in xdr_buf_subsegment()
1421 len -= subbuf->tail[0].iov_len; in xdr_buf_subsegment()
1425 subbuf->tail[0].iov_base = buf->tail[0].iov_base; in xdr_buf_subsegment()
1426 subbuf->tail[0].iov_len = 0; in xdr_buf_subsegment()
1476 static void __read_bytes_from_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len) in __read_bytes_from_xdr_buf() argument
1480 this_len = min_t(unsigned int, len, subbuf->head[0].iov_len); in __read_bytes_from_xdr_buf()
1481 memcpy(obj, subbuf->head[0].iov_base, this_len); in __read_bytes_from_xdr_buf()
1484 this_len = min_t(unsigned int, len, subbuf->page_len); in __read_bytes_from_xdr_buf()
1486 _copy_from_pages(obj, subbuf->pages, subbuf->page_base, this_len); in __read_bytes_from_xdr_buf()
1489 this_len = min_t(unsigned int, len, subbuf->tail[0].iov_len); in __read_bytes_from_xdr_buf()
1490 memcpy(obj, subbuf->tail[0].iov_base, this_len); in __read_bytes_from_xdr_buf()
1496 struct xdr_buf subbuf; in read_bytes_from_xdr_buf() local
1499 status = xdr_buf_subsegment(buf, &subbuf, base, len); in read_bytes_from_xdr_buf()
1502 __read_bytes_from_xdr_buf(&subbuf, obj, len); in read_bytes_from_xdr_buf()
1507 static void __write_bytes_to_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len) in __write_bytes_to_xdr_buf() argument
1511 this_len = min_t(unsigned int, len, subbuf->head[0].iov_len); in __write_bytes_to_xdr_buf()
1512 memcpy(subbuf->head[0].iov_base, obj, this_len); in __write_bytes_to_xdr_buf()
1515 this_len = min_t(unsigned int, len, subbuf->page_len); in __write_bytes_to_xdr_buf()
1517 _copy_to_pages(subbuf->pages, subbuf->page_base, obj, this_len); in __write_bytes_to_xdr_buf()
1520 this_len = min_t(unsigned int, len, subbuf->tail[0].iov_len); in __write_bytes_to_xdr_buf()
1521 memcpy(subbuf->tail[0].iov_base, obj, this_len); in __write_bytes_to_xdr_buf()
1527 struct xdr_buf subbuf; in write_bytes_to_xdr_buf() local
1530 status = xdr_buf_subsegment(buf, &subbuf, base, len); in write_bytes_to_xdr_buf()
1533 __write_bytes_to_xdr_buf(&subbuf, obj, len); in write_bytes_to_xdr_buf()