Lines Matching refs:fd
194 struct hfs_find_data *fd) in hfsplus_find_cat() argument
200 hfsplus_cat_build_key_with_cnid(sb, fd->search_key, cnid); in hfsplus_find_cat()
201 err = hfs_brec_read(fd, &tmp, sizeof(hfsplus_cat_entry)); in hfsplus_find_cat()
216 hfsplus_cat_build_key_uni(fd->search_key, in hfsplus_find_cat()
219 return hfs_brec_find(fd, hfs_find_rec_by_key); in hfsplus_find_cat()
256 struct hfs_find_data fd; in hfsplus_create_cat() local
263 err = hfs_find_init(HFSPLUS_SB(sb)->cat_tree, &fd); in hfsplus_create_cat()
267 hfsplus_cat_build_key_with_cnid(sb, fd.search_key, cnid); in hfsplus_create_cat()
277 err = hfs_brec_find(&fd, hfs_find_rec_by_key); in hfsplus_create_cat()
283 err = hfs_brec_insert(&fd, &entry, entry_size); in hfsplus_create_cat()
287 err = hfsplus_cat_build_key(sb, fd.search_key, dir->i_ino, str); in hfsplus_create_cat()
292 err = hfs_brec_find(&fd, hfs_find_rec_by_key); in hfsplus_create_cat()
299 err = hfs_brec_insert(&fd, &entry, entry_size); in hfsplus_create_cat()
309 hfs_find_exit(&fd); in hfsplus_create_cat()
313 hfsplus_cat_build_key_with_cnid(sb, fd.search_key, cnid); in hfsplus_create_cat()
314 if (!hfs_brec_find(&fd, hfs_find_rec_by_key)) in hfsplus_create_cat()
315 hfs_brec_remove(&fd); in hfsplus_create_cat()
317 hfs_find_exit(&fd); in hfsplus_create_cat()
324 struct hfs_find_data fd; in hfsplus_delete_cat() local
331 err = hfs_find_init(HFSPLUS_SB(sb)->cat_tree, &fd); in hfsplus_delete_cat()
338 hfsplus_cat_build_key_with_cnid(sb, fd.search_key, cnid); in hfsplus_delete_cat()
339 err = hfs_brec_find(&fd, hfs_find_rec_by_key); in hfsplus_delete_cat()
343 off = fd.entryoffset + in hfsplus_delete_cat()
345 fd.search_key->cat.parent = cpu_to_be32(dir->i_ino); in hfsplus_delete_cat()
346 hfs_bnode_read(fd.bnode, in hfsplus_delete_cat()
347 &fd.search_key->cat.name.length, off, 2); in hfsplus_delete_cat()
348 len = be16_to_cpu(fd.search_key->cat.name.length) * 2; in hfsplus_delete_cat()
349 hfs_bnode_read(fd.bnode, in hfsplus_delete_cat()
350 &fd.search_key->cat.name.unicode, in hfsplus_delete_cat()
352 fd.search_key->key_len = cpu_to_be16(6 + len); in hfsplus_delete_cat()
354 err = hfsplus_cat_build_key(sb, fd.search_key, dir->i_ino, str); in hfsplus_delete_cat()
359 err = hfs_brec_find(&fd, hfs_find_rec_by_key); in hfsplus_delete_cat()
363 type = hfs_bnode_read_u16(fd.bnode, fd.entryoffset); in hfsplus_delete_cat()
366 off = fd.entryoffset + offsetof(hfsplus_cat_file, data_fork); in hfsplus_delete_cat()
367 hfs_bnode_read(fd.bnode, &fork, off, sizeof(fork)); in hfsplus_delete_cat()
371 off = fd.entryoffset + in hfsplus_delete_cat()
373 hfs_bnode_read(fd.bnode, &fork, off, sizeof(fork)); in hfsplus_delete_cat()
380 if (fd.tree->keycmp(fd.search_key, (void *)&rd->key) < 0) in hfsplus_delete_cat()
384 err = hfs_brec_remove(&fd); in hfsplus_delete_cat()
388 hfsplus_cat_build_key_with_cnid(sb, fd.search_key, cnid); in hfsplus_delete_cat()
389 err = hfs_brec_find(&fd, hfs_find_rec_by_key); in hfsplus_delete_cat()
393 err = hfs_brec_remove(&fd); in hfsplus_delete_cat()
409 hfs_find_exit(&fd); in hfsplus_delete_cat()