Lines Matching defs:frag
57 /* frag node operations */
105 /* frag node rbtree operations */
118 const struct chfs_node_frag *frag = n;
121 return (frag->ofs - ofs);
489 * Puts hole frag into the holes between fragments.
526 /* Find the offset of frag which is before the new one. */
659 struct chfs_node_frag *frag;
663 frag = (struct chfs_node_frag *)rb_tree_find_node_leq(fragtree, &size);
665 /* Find the last frag before size and set its new size. */
666 if (frag && frag->ofs != size) {
667 if (frag->ofs + frag->size > size) {
668 frag->size = size - frag->ofs;
670 frag = frag_next(fragtree, frag);
674 while (frag && frag->ofs >= size) {
675 struct chfs_node_frag *next = frag_next(fragtree, frag);
677 rb_tree_remove_node(fragtree, frag);
678 chfs_obsolete_node_frag(chmp, frag);
679 frag = next;
686 frag = frag_last(fragtree);
688 if (!frag) {
692 if (frag->ofs + frag->size < size) {
693 return frag->ofs + frag->size;
697 if (frag->node && (frag->ofs & (PAGE_SIZE - 1)) == 0) {
698 frag->node->nref->nref_offset =
699 CHFS_GET_OFS(frag->node->nref->nref_offset) | CHFS_PRISTINE_NODE_MASK;
837 /* We don't check data crc here, just add nodes to tmp frag tree, because
1103 struct chfs_node_frag *frag;
1116 frag = (struct chfs_node_frag *)rb_tree_find_node_leq(&ip->fragtree, &ofs);
1118 if (!frag || frag->ofs > ofs || frag->ofs + frag->size <= ofs) {
1120 dbg("not found in frag tree\n");
1124 if (!frag->node) {
1125 dbg("no node in frag\n");
1129 nref = frag->node->nref;
1130 size = sizeof(*dnode) + frag->size;