Lines Matching defs:iter
104 void rds_info_iter_unmap(struct rds_info_iterator *iter)
106 if (iter->addr) {
107 kunmap_atomic(iter->addr);
108 iter->addr = NULL;
115 void rds_info_copy(struct rds_info_iterator *iter, void *data,
121 if (!iter->addr)
122 iter->addr = kmap_atomic(*iter->pages);
124 this = min(bytes, PAGE_SIZE - iter->offset);
127 "bytes %lu\n", *iter->pages, iter->addr,
128 iter->offset, this, data, bytes);
130 memcpy(iter->addr + iter->offset, data, this);
134 iter->offset += this;
136 if (iter->offset == PAGE_SIZE) {
137 kunmap_atomic(iter->addr);
138 iter->addr = NULL;
139 iter->offset = 0;
140 iter->pages++;
161 struct rds_info_iterator iter;
214 iter.pages = pages;
215 iter.addr = NULL;
216 iter.offset = start & (PAGE_SIZE - 1);
218 func(sock, len, &iter, &lens);
223 rds_info_iter_unmap(&iter);