Lines Matching +full:bit +full:- +full:manipulation
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
21 * the b-tree operations in ocfs2. Now all the b-tree operations are not
23 * to store can use b-tree. And it only needs to implement its ocfs2_extent_tree
26 * ocfs2_extent_tree becomes the first-class object for extent tree
27 * manipulation. Callers of the alloc.c code need to fill it via one of
30 * ocfs2_extent_tree contains info for the root of the b-tree, it must have a
31 * root ocfs2_extent_list and a root_bh so that they can be used in the b-tree
37 * the root of extent b-tree.
138 * of extent tree. So for an inode, it should be &fe->id2.i_list. Otherwise
149 * top-of-the tree.
151 return le16_to_cpu(root_el->l_tree_depth) + 2;
184 * de-allocating routines. No journal handles should be open, and most
193 c->c_first_suballocator = NULL;
194 c->c_global_allocator = NULL;
197 u64 blkno, unsigned int bit);
200 unsigned int bit);
203 return c->c_global_allocator != NULL;
242 if (el->l_tree_depth)
243 return le32_to_cpu(rec->e_int_clusters);
245 return le16_to_cpu(rec->e_leaf_clusters);
254 return !rec->e_leaf_clusters;
265 * manipulation code.
280 #define path_root_bh(_path) ((_path)->p_node[0].bh)
281 #define path_root_el(_path) ((_path)->p_node[0].el)
282 #define path_root_access(_path)((_path)->p_root_access)
283 #define path_leaf_bh(_path) ((_path)->p_node[(_path)->p_tree_depth].bh)
284 #define path_leaf_el(_path) ((_path)->p_node[(_path)->p_tree_depth].el)
285 #define path_num_items(_path) ((_path)->p_tree_depth + 1)