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