Lines Matching refs:len
29 size_t xdr_skb_read_bits(struct xdr_skb_reader *desc, void *to, size_t len) in xdr_skb_read_bits() argument
31 if (len > desc->count) in xdr_skb_read_bits()
32 len = desc->count; in xdr_skb_read_bits()
33 if (unlikely(skb_copy_bits(desc->skb, desc->offset, to, len))) in xdr_skb_read_bits()
35 desc->count -= len; in xdr_skb_read_bits()
36 desc->offset += len; in xdr_skb_read_bits()
37 return len; in xdr_skb_read_bits()
49 static size_t xdr_skb_read_and_csum_bits(struct xdr_skb_reader *desc, void *to, size_t len) in xdr_skb_read_and_csum_bits() argument
54 if (len > desc->count) in xdr_skb_read_and_csum_bits()
55 len = desc->count; in xdr_skb_read_and_csum_bits()
57 csum2 = skb_copy_and_csum_bits(desc->skb, pos, to, len, 0); in xdr_skb_read_and_csum_bits()
59 desc->count -= len; in xdr_skb_read_and_csum_bits()
60 desc->offset += len; in xdr_skb_read_and_csum_bits()
61 return len; in xdr_skb_read_and_csum_bits()
75 unsigned int len, pglen = xdr->page_len; in xdr_partial_copy_from_skb() local
79 len = xdr->head[0].iov_len; in xdr_partial_copy_from_skb()
80 if (base < len) { in xdr_partial_copy_from_skb()
81 len -= base; in xdr_partial_copy_from_skb()
82 ret = copy_actor(desc, (char *)xdr->head[0].iov_base + base, len); in xdr_partial_copy_from_skb()
84 if (ret != len || !desc->count) in xdr_partial_copy_from_skb()
88 base -= len; in xdr_partial_copy_from_skb()
116 len = PAGE_CACHE_SIZE; in xdr_partial_copy_from_skb()
119 len -= base; in xdr_partial_copy_from_skb()
120 if (pglen < len) in xdr_partial_copy_from_skb()
121 len = pglen; in xdr_partial_copy_from_skb()
122 ret = copy_actor(desc, kaddr + base, len); in xdr_partial_copy_from_skb()
125 if (pglen < len) in xdr_partial_copy_from_skb()
126 len = pglen; in xdr_partial_copy_from_skb()
127 ret = copy_actor(desc, kaddr, len); in xdr_partial_copy_from_skb()
132 if (ret != len || !desc->count) in xdr_partial_copy_from_skb()
135 } while ((pglen -= len) != 0); in xdr_partial_copy_from_skb()
137 len = xdr->tail[0].iov_len; in xdr_partial_copy_from_skb()
138 if (base < len) in xdr_partial_copy_from_skb()
139 copied += copy_actor(desc, (char *)xdr->tail[0].iov_base + base, len - base); in xdr_partial_copy_from_skb()
159 desc.count = skb->len - desc.offset; in csum_partial_copy_to_xdr()
167 if (desc.offset != skb->len) { in csum_partial_copy_to_xdr()
169 csum2 = skb_checksum(skb, desc.offset, skb->len - desc.offset, 0); in csum_partial_copy_to_xdr()