Lines Matching full:part
17 struct orangefs_dir_part *part; member
40 * part and is stored in a linked list in case more than one part is
43 * The position pointer (ctx->pos) encodes the part and offset on which
44 * to begin reading at. Bits above PART_SHIFT encode the part and bits
51 * part list. Data is parsed from the current position as it is needed.
57 * Part zero is synthesized to contains `.' and `..'. Part one is the
58 * first part of the part list.
134 struct orangefs_dir_part *part, *new; in parse_readdir() local
138 part = od->part; in parse_readdir()
139 while (part) { in parse_readdir()
141 if (part->next) in parse_readdir()
142 part = part->next; in parse_readdir()
151 if (!od->part) in parse_readdir()
152 od->part = new; in parse_readdir()
154 part->next = new; in parse_readdir()
188 static int fill_from_part(struct orangefs_dir_part *part, in fill_from_part() argument
199 if (i > part->len) in fill_from_part()
209 while (i < part->len) { in fill_from_part()
210 if (part->len < i + sizeof *len) in fill_from_part()
212 len = (void *)part + offset + i; in fill_from_part()
219 if (part->len < i + padlen + sizeof *khandle) in fill_from_part()
221 s = (void *)part + offset + i + sizeof *len; in fill_from_part()
224 khandle = (void *)part + offset + i + padlen; in fill_from_part()
231 BUG_ON(i > part->len); in fill_from_part()
242 struct orangefs_dir_part *part; in orangefs_dir_fill() local
247 part = od->part; in orangefs_dir_fill()
248 while (part->next && count) { in orangefs_dir_fill()
250 part = part->next; in orangefs_dir_fill()
258 while (part && part->len) { in orangefs_dir_fill()
260 r = fill_from_part(part, ctx); in orangefs_dir_fill()
269 * The part ran out of data. Move to the next in orangefs_dir_fill()
270 * part. */ in orangefs_dir_fill()
273 part = part->next; in orangefs_dir_fill()
288 struct orangefs_dir_part *part = od->part; in orangefs_dir_llseek() local
289 while (part) { in orangefs_dir_llseek()
290 struct orangefs_dir_part *next = part->next; in orangefs_dir_llseek()
291 vfree(part); in orangefs_dir_llseek()
292 part = next; in orangefs_dir_llseek()
295 od->part = NULL; in orangefs_dir_llseek()
323 * The seek position is in the first synthesized part but is not in orangefs_dir_iterate()
371 od->part = NULL; in orangefs_dir_open()
380 struct orangefs_dir_part *part = od->part; in orangefs_dir_release() local
381 while (part) { in orangefs_dir_release()
382 struct orangefs_dir_part *next = part->next; in orangefs_dir_release()
383 vfree(part); in orangefs_dir_release()
384 part = next; in orangefs_dir_release()