• Home
  • Raw
  • Download

Lines Matching refs:fd

14 static struct hfs_bnode *hfs_bnode_split(struct hfs_find_data *fd);
15 static int hfs_brec_update_parent(struct hfs_find_data *fd);
53 int hfs_brec_insert(struct hfs_find_data *fd, void *entry, int entry_len) in hfs_brec_insert() argument
62 tree = fd->tree; in hfs_brec_insert()
63 if (!fd->bnode) { in hfs_brec_insert()
66 fd->bnode = hfs_bnode_find(tree, tree->leaf_head); in hfs_brec_insert()
67 if (IS_ERR(fd->bnode)) in hfs_brec_insert()
68 return PTR_ERR(fd->bnode); in hfs_brec_insert()
69 fd->record = -1; in hfs_brec_insert()
72 key_len = be16_to_cpu(fd->search_key->key_len) + 2; in hfs_brec_insert()
75 rec = fd->record + 1; in hfs_brec_insert()
78 node = fd->bnode; in hfs_brec_insert()
88 new_node = hfs_bnode_split(fd); in hfs_brec_insert()
118 hfs_bnode_write(node, fd->search_key, data_off, key_len); in hfs_brec_insert()
127 hfs_brec_update_parent(fd); in hfs_brec_insert()
129 hfs_bnode_put(fd->bnode); in hfs_brec_insert()
134 fd->bnode = hfs_bnode_find(tree, new_node->parent); in hfs_brec_insert()
142 hfs_bnode_read_key(new_node, fd->search_key, 14); in hfs_brec_insert()
143 __hfs_brec_find(fd->bnode, fd); in hfs_brec_insert()
149 key_len = be16_to_cpu(fd->search_key->key_len) + 2; in hfs_brec_insert()
151 fd->search_key->key_len = cpu_to_be16(tree->max_key_len); in hfs_brec_insert()
158 hfs_brec_update_parent(fd); in hfs_brec_insert()
163 int hfs_brec_remove(struct hfs_find_data *fd) in hfs_brec_remove() argument
169 tree = fd->tree; in hfs_brec_remove()
170 node = fd->bnode; in hfs_brec_remove()
172 rec_off = tree->node_size - (fd->record + 2) * 2; in hfs_brec_remove()
180 dprint(DBG_BNODE_MOD, "remove_rec: %d, %d\n", fd->record, fd->keylength + fd->entrylength); in hfs_brec_remove()
189 node = fd->bnode = parent; in hfs_brec_remove()
191 __hfs_brec_find(node, fd); in hfs_brec_remove()
198 size = fd->keylength + fd->entrylength; in hfs_brec_remove()
207 hfs_bnode_move(node, fd->keyoffset, fd->keyoffset + size, in hfs_brec_remove()
208 data_off - fd->keyoffset - size); in hfs_brec_remove()
211 if (!fd->record) in hfs_brec_remove()
212 hfs_brec_update_parent(fd); in hfs_brec_remove()
216 static struct hfs_bnode *hfs_bnode_split(struct hfs_find_data *fd) in hfs_bnode_split() argument
224 tree = fd->tree; in hfs_bnode_split()
225 node = fd->bnode; in hfs_bnode_split()
254 if (fd->record + 1 < num_recs) { in hfs_bnode_split()
264 fd->bnode = new_node; in hfs_bnode_split()
265 fd->record -= num_recs; in hfs_bnode_split()
266 fd->keyoffset -= data_start - 14; in hfs_bnode_split()
267 fd->entryoffset -= data_start - 14; in hfs_bnode_split()
325 static int hfs_brec_update_parent(struct hfs_find_data *fd) in hfs_brec_update_parent() argument
333 tree = fd->tree; in hfs_brec_update_parent()
334 node = fd->bnode; in hfs_brec_update_parent()
343 __hfs_brec_find(parent, fd); in hfs_brec_update_parent()
345 rec = fd->record; in hfs_brec_update_parent()
351 fd->keylength = newkeylen = tree->max_key_len + 2; in hfs_brec_update_parent()
352 dprint(DBG_BNODE_MOD, "update_rec: %d, %d, %d\n", rec, fd->keylength, newkeylen); in hfs_brec_update_parent()
356 diff = newkeylen - fd->keylength; in hfs_brec_update_parent()
364 fd->bnode = parent; in hfs_brec_update_parent()
365 new_node = hfs_bnode_split(fd); in hfs_brec_update_parent()
368 parent = fd->bnode; in hfs_brec_update_parent()
369 rec = fd->record; in hfs_brec_update_parent()
387 hfs_bnode_copy(parent, fd->keyoffset, node, 14, newkeylen); in hfs_brec_update_parent()
396 fd->bnode = hfs_bnode_find(tree, new_node->parent); in hfs_brec_update_parent()
398 hfs_bnode_read_key(new_node, fd->search_key, 14); in hfs_brec_update_parent()
401 __hfs_brec_find(fd->bnode, fd); in hfs_brec_update_parent()
402 hfs_brec_insert(fd, &cnid, sizeof(cnid)); in hfs_brec_update_parent()
403 hfs_bnode_put(fd->bnode); in hfs_brec_update_parent()
410 hfs_bnode_read_key(node, fd->search_key, 14); in hfs_brec_update_parent()
417 fd->bnode = node; in hfs_brec_update_parent()