Lines Matching refs:bnode
20 fd->bnode = NULL; in hfs_find_init()
34 hfs_bnode_put(fd->bnode); in hfs_find_exit()
43 int __hfs_brec_find(struct hfs_bnode *bnode, struct hfs_find_data *fd) in __hfs_brec_find() argument
52 e = bnode->num_recs - 1; in __hfs_brec_find()
56 len = hfs_brec_lenoff(bnode, rec, &off); in __hfs_brec_find()
57 keylen = hfs_brec_keylen(bnode, rec); in __hfs_brec_find()
62 hfs_bnode_read(bnode, fd->key, off, keylen); in __hfs_brec_find()
63 cmpval = bnode->tree->keycmp(fd->key, fd->search_key); in __hfs_brec_find()
75 len = hfs_brec_lenoff(bnode, e, &off); in __hfs_brec_find()
76 keylen = hfs_brec_keylen(bnode, e); in __hfs_brec_find()
81 hfs_bnode_read(bnode, fd->key, off, keylen); in __hfs_brec_find()
98 struct hfs_bnode *bnode; in hfs_brec_find() local
104 if (fd->bnode) in hfs_brec_find()
105 hfs_bnode_put(fd->bnode); in hfs_brec_find()
106 fd->bnode = NULL; in hfs_brec_find()
114 bnode = hfs_bnode_find(tree, nidx); in hfs_brec_find()
115 if (IS_ERR(bnode)) { in hfs_brec_find()
116 res = PTR_ERR(bnode); in hfs_brec_find()
117 bnode = NULL; in hfs_brec_find()
120 if (bnode->height != height) in hfs_brec_find()
122 if (bnode->type != (--height ? HFS_NODE_INDEX : HFS_NODE_LEAF)) in hfs_brec_find()
124 bnode->parent = parent; in hfs_brec_find()
126 res = __hfs_brec_find(bnode, fd); in hfs_brec_find()
133 hfs_bnode_read(bnode, &data, fd->entryoffset, 4); in hfs_brec_find()
135 hfs_bnode_put(bnode); in hfs_brec_find()
137 fd->bnode = bnode; in hfs_brec_find()
142 height, bnode->height, bnode->type, nidx, parent); in hfs_brec_find()
145 hfs_bnode_put(bnode); in hfs_brec_find()
158 hfs_bnode_read(fd->bnode, rec, fd->entryoffset, fd->entrylength); in hfs_brec_read()
165 struct hfs_bnode *bnode; in hfs_brec_goto() local
169 bnode = fd->bnode; in hfs_brec_goto()
170 tree = bnode->tree; in hfs_brec_goto()
176 fd->record = bnode->num_recs - 1; in hfs_brec_goto()
177 idx = bnode->prev; in hfs_brec_goto()
182 hfs_bnode_put(bnode); in hfs_brec_goto()
183 bnode = hfs_bnode_find(tree, idx); in hfs_brec_goto()
184 if (IS_ERR(bnode)) { in hfs_brec_goto()
185 res = PTR_ERR(bnode); in hfs_brec_goto()
186 bnode = NULL; in hfs_brec_goto()
192 while (cnt >= bnode->num_recs - fd->record) { in hfs_brec_goto()
193 cnt -= bnode->num_recs - fd->record; in hfs_brec_goto()
195 idx = bnode->next; in hfs_brec_goto()
200 hfs_bnode_put(bnode); in hfs_brec_goto()
201 bnode = hfs_bnode_find(tree, idx); in hfs_brec_goto()
202 if (IS_ERR(bnode)) { in hfs_brec_goto()
203 res = PTR_ERR(bnode); in hfs_brec_goto()
204 bnode = NULL; in hfs_brec_goto()
211 len = hfs_brec_lenoff(bnode, fd->record, &off); in hfs_brec_goto()
212 keylen = hfs_brec_keylen(bnode, fd->record); in hfs_brec_goto()
221 hfs_bnode_read(bnode, fd->key, off, keylen); in hfs_brec_goto()
223 fd->bnode = bnode; in hfs_brec_goto()