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()
189 static int fill_from_part(struct orangefs_dir_part *part, in fill_from_part() argument
200 if (i > part->len) in fill_from_part()
210 while (i < part->len) { in fill_from_part()
211 if (part->len < i + sizeof *len) in fill_from_part()
213 len = (void *)part + offset + i; in fill_from_part()
220 if (part->len < i + padlen + sizeof *khandle) in fill_from_part()
222 s = (void *)part + offset + i + sizeof *len; in fill_from_part()
225 khandle = (void *)part + offset + i + padlen; in fill_from_part()
232 BUG_ON(i > part->len); in fill_from_part()
245 struct orangefs_dir_part *part; in orangefs_dir_fill() local
250 part = od->part; in orangefs_dir_fill()
251 while (part->next && count) { in orangefs_dir_fill()
253 part = part->next; in orangefs_dir_fill()
261 while (part && part->len) { in orangefs_dir_fill()
263 r = fill_from_part(part, ctx); in orangefs_dir_fill()
272 * The part ran out of data. Move to the next in orangefs_dir_fill()
273 * part. */ in orangefs_dir_fill()
276 part = part->next; in orangefs_dir_fill()
291 struct orangefs_dir_part *part = od->part; in orangefs_dir_llseek() local
292 while (part) { in orangefs_dir_llseek()
293 struct orangefs_dir_part *next = part->next; in orangefs_dir_llseek()
294 vfree(part); in orangefs_dir_llseek()
295 part = next; in orangefs_dir_llseek()
298 od->part = NULL; in orangefs_dir_llseek()
331 * The seek position is in the first synthesized part but is not in orangefs_dir_iterate()
379 od->part = NULL; in orangefs_dir_open()
388 struct orangefs_dir_part *part = od->part; in orangefs_dir_release() local
389 while (part) { in orangefs_dir_release()
390 struct orangefs_dir_part *next = part->next; in orangefs_dir_release()
391 vfree(part); in orangefs_dir_release()
392 part = next; in orangefs_dir_release()