Lines Matching defs:frag
63 * - frag+name order;
64 * ((frag value) << 28) | (the nth entry in frag);
300 return !ceph_frag_contains_value(dfi->frag, fpos_hash(pos));
302 return dfi->frag != fpos_frag(pos);
314 unsigned frag = -1;
365 /* do we have the correct frag content buffered? */
378 /* fragtree isn't always accurate. choose frag
380 if (frag == (unsigned)-1)
381 frag = ceph_choose_frag(ci, fpos_hash(ctx->pos),
384 frag = fpos_frag(ctx->pos);
387 dout("readdir fetching %llx.%llx frag %x offset '%s'\n",
388 ceph_vinop(inode), frag, dfi->last_name);
400 req->r_direct_hash = ceph_frag_value(frag);
419 req->r_args.readdir.frag = cpu_to_le32(frag);
432 "frag %x, end=%d, complete=%d, hash_order=%d\n",
433 err, frag,
439 if (le32_to_cpu(rinfo->dir_dir->frag) != frag) {
440 frag = le32_to_cpu(rinfo->dir_dir->frag);
443 /* adjust ctx->pos to beginning of frag */
444 ctx->pos = ceph_make_fpos(frag,
450 dfi->frag = frag;
458 } else if (ceph_frag_is_leftmost(frag) &&
493 dout("readdir frag %x num %d pos %llx chunk first %llx\n",
494 dfi->frag, rinfo->dir_nr, ctx->pos,
542 frag = dfi->frag;
547 if (!ceph_frag_is_rightmost(dfi->frag)) {
548 frag = ceph_frag_next(dfi->frag);
550 loff_t new_pos = ceph_make_fpos(ceph_frag_value(frag),
556 ctx->pos = ceph_make_fpos(frag, dfi->next_offset,
561 dout("readdir next frag is %x\n", frag);
609 * discard buffered readdir content on seekdir(0), or seek to new frag,
621 } else if (dfi->frag != fpos_frag(new_pos)) {
657 * is within same frag */