Lines Matching +full:bit +full:- +full:manipulation
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /* -*- mode: c; c-basic-offset: 8; -*-
23 * the b-tree operations in ocfs2. Now all the b-tree operations are not
25 * to store can use b-tree. And it only needs to implement its ocfs2_extent_tree
28 * ocfs2_extent_tree becomes the first-class object for extent tree
29 * manipulation. Callers of the alloc.c code need to fill it via one of
32 * ocfs2_extent_tree contains info for the root of the b-tree, it must have a
33 * root ocfs2_extent_list and a root_bh so that they can be used in the b-tree
39 * the root of extent b-tree.
140 * of extent tree. So for an inode, it should be &fe->id2.i_list. Otherwise
151 * top-of-the tree. in ocfs2_extend_meta_needed()
153 return le16_to_cpu(root_el->l_tree_depth) + 2; in ocfs2_extend_meta_needed()
186 * de-allocating routines. No journal handles should be open, and most
195 c->c_first_suballocator = NULL; in ocfs2_init_dealloc_ctxt()
196 c->c_global_allocator = NULL; in ocfs2_init_dealloc_ctxt()
199 u64 blkno, unsigned int bit);
202 unsigned int bit);
205 return c->c_global_allocator != NULL; in ocfs2_dealloc_has_cluster()
244 if (el->l_tree_depth) in ocfs2_rec_clusters()
245 return le32_to_cpu(rec->e_int_clusters); in ocfs2_rec_clusters()
247 return le16_to_cpu(rec->e_leaf_clusters); in ocfs2_rec_clusters()
256 return !rec->e_leaf_clusters; in ocfs2_is_empty_extent()
269 * manipulation code.
284 #define path_root_bh(_path) ((_path)->p_node[0].bh)
285 #define path_root_el(_path) ((_path)->p_node[0].el)
286 #define path_root_access(_path)((_path)->p_root_access)
287 #define path_leaf_bh(_path) ((_path)->p_node[(_path)->p_tree_depth].bh)
288 #define path_leaf_el(_path) ((_path)->p_node[(_path)->p_tree_depth].el)
289 #define path_num_items(_path) ((_path)->p_tree_depth + 1)