Lines Matching refs:node
86 static int nilfs_btree_node_get_flags(const struct nilfs_btree_node *node) in nilfs_btree_node_get_flags() argument
88 return node->bn_flags; in nilfs_btree_node_get_flags()
92 nilfs_btree_node_set_flags(struct nilfs_btree_node *node, int flags) in nilfs_btree_node_set_flags() argument
94 node->bn_flags = flags; in nilfs_btree_node_set_flags()
97 static int nilfs_btree_node_root(const struct nilfs_btree_node *node) in nilfs_btree_node_root() argument
99 return nilfs_btree_node_get_flags(node) & NILFS_BTREE_NODE_ROOT; in nilfs_btree_node_root()
102 static int nilfs_btree_node_get_level(const struct nilfs_btree_node *node) in nilfs_btree_node_get_level() argument
104 return node->bn_level; in nilfs_btree_node_get_level()
108 nilfs_btree_node_set_level(struct nilfs_btree_node *node, int level) in nilfs_btree_node_set_level() argument
110 node->bn_level = level; in nilfs_btree_node_set_level()
113 static int nilfs_btree_node_get_nchildren(const struct nilfs_btree_node *node) in nilfs_btree_node_get_nchildren() argument
115 return le16_to_cpu(node->bn_nchildren); in nilfs_btree_node_get_nchildren()
119 nilfs_btree_node_set_nchildren(struct nilfs_btree_node *node, int nchildren) in nilfs_btree_node_set_nchildren() argument
121 node->bn_nchildren = cpu_to_le16(nchildren); in nilfs_btree_node_set_nchildren()
135 nilfs_btree_node_dkeys(const struct nilfs_btree_node *node) in nilfs_btree_node_dkeys() argument
137 return (__le64 *)((char *)(node + 1) + in nilfs_btree_node_dkeys()
138 (nilfs_btree_node_root(node) ? in nilfs_btree_node_dkeys()
143 nilfs_btree_node_dptrs(const struct nilfs_btree_node *node, int ncmax) in nilfs_btree_node_dptrs() argument
145 return (__le64 *)(nilfs_btree_node_dkeys(node) + ncmax); in nilfs_btree_node_dptrs()
149 nilfs_btree_node_get_key(const struct nilfs_btree_node *node, int index) in nilfs_btree_node_get_key() argument
151 return le64_to_cpu(*(nilfs_btree_node_dkeys(node) + index)); in nilfs_btree_node_get_key()
155 nilfs_btree_node_set_key(struct nilfs_btree_node *node, int index, __u64 key) in nilfs_btree_node_set_key() argument
157 *(nilfs_btree_node_dkeys(node) + index) = cpu_to_le64(key); in nilfs_btree_node_set_key()
161 nilfs_btree_node_get_ptr(const struct nilfs_btree_node *node, int index, in nilfs_btree_node_get_ptr() argument
164 return le64_to_cpu(*(nilfs_btree_node_dptrs(node, ncmax) + index)); in nilfs_btree_node_get_ptr()
168 nilfs_btree_node_set_ptr(struct nilfs_btree_node *node, int index, __u64 ptr, in nilfs_btree_node_set_ptr() argument
171 *(nilfs_btree_node_dptrs(node, ncmax) + index) = cpu_to_le64(ptr); in nilfs_btree_node_set_ptr()
174 static void nilfs_btree_node_init(struct nilfs_btree_node *node, int flags, in nilfs_btree_node_init() argument
182 nilfs_btree_node_set_flags(node, flags); in nilfs_btree_node_init()
183 nilfs_btree_node_set_level(node, level); in nilfs_btree_node_init()
184 nilfs_btree_node_set_nchildren(node, nchildren); in nilfs_btree_node_init()
186 dkeys = nilfs_btree_node_dkeys(node); in nilfs_btree_node_init()
187 dptrs = nilfs_btree_node_dptrs(node, ncmax); in nilfs_btree_node_init()
251 static void nilfs_btree_node_insert(struct nilfs_btree_node *node, int index, in nilfs_btree_node_insert() argument
258 dkeys = nilfs_btree_node_dkeys(node); in nilfs_btree_node_insert()
259 dptrs = nilfs_btree_node_dptrs(node, ncmax); in nilfs_btree_node_insert()
260 nchildren = nilfs_btree_node_get_nchildren(node); in nilfs_btree_node_insert()
270 nilfs_btree_node_set_nchildren(node, nchildren); in nilfs_btree_node_insert()
274 static void nilfs_btree_node_delete(struct nilfs_btree_node *node, int index, in nilfs_btree_node_delete() argument
283 dkeys = nilfs_btree_node_dkeys(node); in nilfs_btree_node_delete()
284 dptrs = nilfs_btree_node_dptrs(node, ncmax); in nilfs_btree_node_delete()
287 nchildren = nilfs_btree_node_get_nchildren(node); in nilfs_btree_node_delete()
300 nilfs_btree_node_set_nchildren(node, nchildren); in nilfs_btree_node_delete()
303 static int nilfs_btree_node_lookup(const struct nilfs_btree_node *node, in nilfs_btree_node_lookup() argument
311 high = nilfs_btree_node_get_nchildren(node) - 1; in nilfs_btree_node_lookup()
316 nkey = nilfs_btree_node_get_key(node, index); in nilfs_btree_node_lookup()
330 if (nilfs_btree_node_get_level(node) > NILFS_BTREE_LEVEL_NODE_MIN) { in nilfs_btree_node_lookup()
350 static int nilfs_btree_node_broken(const struct nilfs_btree_node *node, in nilfs_btree_node_broken() argument
356 level = nilfs_btree_node_get_level(node); in nilfs_btree_node_broken()
357 flags = nilfs_btree_node_get_flags(node); in nilfs_btree_node_broken()
358 nchildren = nilfs_btree_node_get_nchildren(node); in nilfs_btree_node_broken()
380 static int nilfs_btree_root_broken(const struct nilfs_btree_node *node, in nilfs_btree_root_broken() argument
386 level = nilfs_btree_node_get_level(node); in nilfs_btree_root_broken()
387 flags = nilfs_btree_node_get_flags(node); in nilfs_btree_root_broken()
388 nchildren = nilfs_btree_node_get_nchildren(node); in nilfs_btree_root_broken()
443 struct nilfs_btree_node *node; in nilfs_btree_get_node() local
446 node = nilfs_btree_get_root(btree); in nilfs_btree_get_node()
449 node = nilfs_btree_get_nonroot_node(path, level); in nilfs_btree_get_node()
452 return node; in nilfs_btree_get_node()
456 nilfs_btree_bad_node(struct nilfs_btree_node *node, int level) in nilfs_btree_bad_node() argument
458 if (unlikely(nilfs_btree_node_get_level(node) != level)) { in nilfs_btree_bad_node()
461 nilfs_btree_node_get_level(node), level); in nilfs_btree_bad_node()
468 struct nilfs_btree_node *node; /* parent node */ member
497 ptr2 = nilfs_btree_node_get_ptr(ra->node, i, ra->ncmax); in __nilfs_btree_get_block()
540 struct nilfs_btree_node *node; in nilfs_btree_do_lookup() local
545 node = nilfs_btree_get_root(btree); in nilfs_btree_do_lookup()
546 level = nilfs_btree_node_get_level(node); in nilfs_btree_do_lookup()
547 if (level < minlevel || nilfs_btree_node_get_nchildren(node) <= 0) in nilfs_btree_do_lookup()
550 found = nilfs_btree_node_lookup(node, key, &index); in nilfs_btree_do_lookup()
551 ptr = nilfs_btree_node_get_ptr(node, index, in nilfs_btree_do_lookup()
561 p.node = nilfs_btree_get_node(btree, path, level + 1, in nilfs_btree_do_lookup()
572 node = nilfs_btree_get_nonroot_node(path, level); in nilfs_btree_do_lookup()
573 if (nilfs_btree_bad_node(node, level)) in nilfs_btree_do_lookup()
576 found = nilfs_btree_node_lookup(node, key, &index); in nilfs_btree_do_lookup()
580 ptr = nilfs_btree_node_get_ptr(node, index, ncmax); in nilfs_btree_do_lookup()
601 struct nilfs_btree_node *node; in nilfs_btree_do_lookup_last() local
605 node = nilfs_btree_get_root(btree); in nilfs_btree_do_lookup_last()
606 index = nilfs_btree_node_get_nchildren(node) - 1; in nilfs_btree_do_lookup_last()
609 level = nilfs_btree_node_get_level(node); in nilfs_btree_do_lookup_last()
610 ptr = nilfs_btree_node_get_ptr(node, index, in nilfs_btree_do_lookup_last()
620 node = nilfs_btree_get_nonroot_node(path, level); in nilfs_btree_do_lookup_last()
621 if (nilfs_btree_bad_node(node, level)) in nilfs_btree_do_lookup_last()
623 index = nilfs_btree_node_get_nchildren(node) - 1; in nilfs_btree_do_lookup_last()
624 ptr = nilfs_btree_node_get_ptr(node, index, ncmax); in nilfs_btree_do_lookup_last()
629 *keyp = nilfs_btree_node_get_key(node, index); in nilfs_btree_do_lookup_last()
650 struct nilfs_btree_node *node; in nilfs_btree_get_next_key() local
658 node = nilfs_btree_get_root(btree); in nilfs_btree_get_next_key()
660 node = nilfs_btree_get_nonroot_node(path, level); in nilfs_btree_get_next_key()
663 if (index < nilfs_btree_node_get_nchildren(node)) { in nilfs_btree_get_next_key()
665 *nextkey = nilfs_btree_node_get_key(node, index); in nilfs_btree_get_next_key()
695 struct nilfs_btree_node *node; in nilfs_btree_lookup_contig() local
723 node = nilfs_btree_get_node(btree, path, level, &ncmax); in nilfs_btree_lookup_contig()
726 while (index < nilfs_btree_node_get_nchildren(node)) { in nilfs_btree_lookup_contig()
727 if (nilfs_btree_node_get_key(node, index) != in nilfs_btree_lookup_contig()
730 ptr2 = nilfs_btree_node_get_ptr(node, index, ncmax); in nilfs_btree_lookup_contig()
746 p.node = nilfs_btree_get_node(btree, path, level + 1, &p.ncmax); in nilfs_btree_lookup_contig()
749 if (p.index >= nilfs_btree_node_get_nchildren(p.node) || in nilfs_btree_lookup_contig()
750 nilfs_btree_node_get_key(p.node, p.index) != key + cnt) in nilfs_btree_lookup_contig()
752 ptr2 = nilfs_btree_node_get_ptr(p.node, p.index, p.ncmax); in nilfs_btree_lookup_contig()
762 node = nilfs_btree_get_nonroot_node(path, level); in nilfs_btree_lookup_contig()
801 struct nilfs_btree_node *node; in nilfs_btree_do_insert() local
805 node = nilfs_btree_get_nonroot_node(path, level); in nilfs_btree_do_insert()
807 nilfs_btree_node_insert(node, path[level].bp_index, in nilfs_btree_do_insert()
814 nilfs_btree_node_get_key(node, in nilfs_btree_do_insert()
817 node = nilfs_btree_get_root(btree); in nilfs_btree_do_insert()
818 nilfs_btree_node_insert(node, path[level].bp_index, in nilfs_btree_do_insert()
828 struct nilfs_btree_node *node, *left; in nilfs_btree_carry_left() local
831 node = nilfs_btree_get_nonroot_node(path, level); in nilfs_btree_carry_left()
833 nchildren = nilfs_btree_node_get_nchildren(node); in nilfs_btree_carry_left()
845 nilfs_btree_node_move_left(left, node, n, ncblk, ncblk); in nilfs_btree_carry_left()
853 nilfs_btree_node_get_key(node, 0)); in nilfs_btree_carry_left()
874 struct nilfs_btree_node *node, *right; in nilfs_btree_carry_right() local
877 node = nilfs_btree_get_nonroot_node(path, level); in nilfs_btree_carry_right()
879 nchildren = nilfs_btree_node_get_nchildren(node); in nilfs_btree_carry_right()
891 nilfs_btree_node_move_right(node, right, n, ncblk, ncblk); in nilfs_btree_carry_right()
907 path[level].bp_index -= nilfs_btree_node_get_nchildren(node); in nilfs_btree_carry_right()
921 struct nilfs_btree_node *node, *right; in nilfs_btree_split() local
926 node = nilfs_btree_get_nonroot_node(path, level); in nilfs_btree_split()
928 nchildren = nilfs_btree_node_get_nchildren(node); in nilfs_btree_split()
938 nilfs_btree_node_move_right(node, right, n, ncblk, ncblk); in nilfs_btree_split()
949 path[level].bp_index -= nilfs_btree_node_get_nchildren(node); in nilfs_btree_split()
1004 struct nilfs_btree_node *node; in nilfs_btree_find_near() local
1013 node = nilfs_btree_get_node(btree, path, level, &ncmax); in nilfs_btree_find_near()
1014 return nilfs_btree_node_get_ptr(node, in nilfs_btree_find_near()
1022 node = nilfs_btree_get_node(btree, path, level, &ncmax); in nilfs_btree_find_near()
1023 return nilfs_btree_node_get_ptr(node, path[level].bp_index, in nilfs_btree_find_near()
1056 struct nilfs_btree_node *node, *parent, *sib; in nilfs_btree_prepare_insert() local
1080 node = nilfs_btree_get_nonroot_node(path, level); in nilfs_btree_prepare_insert()
1081 if (nilfs_btree_node_get_nchildren(node) < ncblk) { in nilfs_btree_prepare_insert()
1148 node = nilfs_btree_get_root(btree); in nilfs_btree_prepare_insert()
1149 if (nilfs_btree_node_get_nchildren(node) < in nilfs_btree_prepare_insert()
1256 struct nilfs_btree_node *node; in nilfs_btree_do_delete() local
1260 node = nilfs_btree_get_nonroot_node(path, level); in nilfs_btree_do_delete()
1262 nilfs_btree_node_delete(node, path[level].bp_index, in nilfs_btree_do_delete()
1268 nilfs_btree_node_get_key(node, 0)); in nilfs_btree_do_delete()
1270 node = nilfs_btree_get_root(btree); in nilfs_btree_do_delete()
1271 nilfs_btree_node_delete(node, path[level].bp_index, in nilfs_btree_do_delete()
1281 struct nilfs_btree_node *node, *left; in nilfs_btree_borrow_left() local
1286 node = nilfs_btree_get_nonroot_node(path, level); in nilfs_btree_borrow_left()
1288 nchildren = nilfs_btree_node_get_nchildren(node); in nilfs_btree_borrow_left()
1294 nilfs_btree_node_move_right(left, node, n, ncblk, ncblk); in nilfs_btree_borrow_left()
1302 nilfs_btree_node_get_key(node, 0)); in nilfs_btree_borrow_left()
1313 struct nilfs_btree_node *node, *right; in nilfs_btree_borrow_right() local
1318 node = nilfs_btree_get_nonroot_node(path, level); in nilfs_btree_borrow_right()
1320 nchildren = nilfs_btree_node_get_nchildren(node); in nilfs_btree_borrow_right()
1326 nilfs_btree_node_move_left(node, right, n, ncblk, ncblk); in nilfs_btree_borrow_right()
1346 struct nilfs_btree_node *node, *left; in nilfs_btree_concat_left() local
1351 node = nilfs_btree_get_nonroot_node(path, level); in nilfs_btree_concat_left()
1355 n = nilfs_btree_node_get_nchildren(node); in nilfs_btree_concat_left()
1357 nilfs_btree_node_move_left(left, node, n, ncblk, ncblk); in nilfs_btree_concat_left()
1372 struct nilfs_btree_node *node, *right; in nilfs_btree_concat_right() local
1377 node = nilfs_btree_get_nonroot_node(path, level); in nilfs_btree_concat_right()
1383 nilfs_btree_node_move_left(node, right, n, ncblk, ncblk); in nilfs_btree_concat_right()
1430 struct nilfs_btree_node *node, *parent, *sib; in nilfs_btree_prepare_delete() local
1442 node = nilfs_btree_get_nonroot_node(path, level); in nilfs_btree_prepare_delete()
1444 nilfs_btree_node_get_ptr(node, dindex, ncblk); in nilfs_btree_prepare_delete()
1450 if (nilfs_btree_node_get_nchildren(node) > ncmin) { in nilfs_btree_prepare_delete()
1511 if (nilfs_btree_node_get_nchildren(node) - 1 <= in nilfs_btree_prepare_delete()
1531 node = nilfs_btree_get_root(btree); in nilfs_btree_prepare_delete()
1533 nilfs_btree_node_get_ptr(node, dindex, in nilfs_btree_prepare_delete()
1644 struct nilfs_btree_node *root, *node; in nilfs_btree_check_delete() local
1653 node = root; in nilfs_btree_check_delete()
1664 node = (struct nilfs_btree_node *)bh->b_data; in nilfs_btree_check_delete()
1670 nchildren = nilfs_btree_node_get_nchildren(node); in nilfs_btree_check_delete()
1671 maxkey = nilfs_btree_node_get_key(node, nchildren - 1); in nilfs_btree_check_delete()
1673 nilfs_btree_node_get_key(node, nchildren - 2) : 0; in nilfs_btree_check_delete()
1684 struct nilfs_btree_node *node, *root; in nilfs_btree_gather_data() local
1694 node = root; in nilfs_btree_gather_data()
1705 node = (struct nilfs_btree_node *)bh->b_data; in nilfs_btree_gather_data()
1709 node = NULL; in nilfs_btree_gather_data()
1713 nchildren = nilfs_btree_node_get_nchildren(node); in nilfs_btree_gather_data()
1716 dkeys = nilfs_btree_node_dkeys(node); in nilfs_btree_gather_data()
1717 dptrs = nilfs_btree_node_dptrs(node, ncmax); in nilfs_btree_gather_data()
1791 struct nilfs_btree_node *node; in nilfs_btree_commit_convert_and_insert() local
1811 node = (struct nilfs_btree_node *)bh->b_data; in nilfs_btree_commit_convert_and_insert()
1813 nilfs_btree_node_init(node, 0, 1, n, ncblk, keys, ptrs); in nilfs_btree_commit_convert_and_insert()
1814 nilfs_btree_node_insert(node, n, key, dreq->bpr_ptr, ncblk); in nilfs_btree_commit_convert_and_insert()
1823 node = nilfs_btree_get_root(btree); in nilfs_btree_commit_convert_and_insert()
1825 nilfs_btree_node_init(node, NILFS_BTREE_NODE_ROOT, 2, 1, in nilfs_btree_commit_convert_and_insert()
1832 node = nilfs_btree_get_root(btree); in nilfs_btree_commit_convert_and_insert()
1833 nilfs_btree_node_init(node, NILFS_BTREE_NODE_ROOT, 1, n, in nilfs_btree_commit_convert_and_insert()
1836 nilfs_btree_node_insert(node, n, key, dreq->bpr_ptr, in nilfs_btree_commit_convert_and_insert()
2059 struct nilfs_btree_node *node; in nilfs_btree_propagate() local
2070 node = (struct nilfs_btree_node *)bh->b_data; in nilfs_btree_propagate()
2071 key = nilfs_btree_node_get_key(node, 0); in nilfs_btree_propagate()
2072 level = nilfs_btree_node_get_level(node); in nilfs_btree_propagate()
2108 struct nilfs_btree_node *node, *cnode; in nilfs_btree_add_dirty_buffer() local
2113 node = (struct nilfs_btree_node *)bh->b_data; in nilfs_btree_add_dirty_buffer()
2114 key = nilfs_btree_node_get_key(node, 0); in nilfs_btree_add_dirty_buffer()
2115 level = nilfs_btree_node_get_level(node); in nilfs_btree_add_dirty_buffer()
2253 struct nilfs_btree_node *node; in nilfs_btree_assign() local
2262 node = (struct nilfs_btree_node *)(*bh)->b_data; in nilfs_btree_assign()
2263 key = nilfs_btree_node_get_key(node, 0); in nilfs_btree_assign()
2264 level = nilfs_btree_node_get_level(node); in nilfs_btree_assign()
2291 struct nilfs_btree_node *node; in nilfs_btree_assign_gc() local
2301 node = (struct nilfs_btree_node *)(*bh)->b_data; in nilfs_btree_assign_gc()
2302 key = nilfs_btree_node_get_key(node, 0); in nilfs_btree_assign_gc()