Lines Matching refs:fd
110 static int __hfs_ext_write_extent(struct inode *inode, struct hfs_find_data *fd) in __hfs_ext_write_extent() argument
114 hfs_ext_build_key(fd->search_key, inode->i_ino, HFS_I(inode)->cached_start, in __hfs_ext_write_extent()
116 res = hfs_brec_find(fd); in __hfs_ext_write_extent()
120 hfs_brec_insert(fd, HFS_I(inode)->cached_extents, sizeof(hfs_extent_rec)); in __hfs_ext_write_extent()
125 hfs_bnode_write(fd->bnode, HFS_I(inode)->cached_extents, fd->entryoffset, fd->entrylength); in __hfs_ext_write_extent()
133 struct hfs_find_data fd; in hfs_ext_write_extent() local
137 res = hfs_find_init(HFS_SB(inode->i_sb)->ext_tree, &fd); in hfs_ext_write_extent()
140 res = __hfs_ext_write_extent(inode, &fd); in hfs_ext_write_extent()
141 hfs_find_exit(&fd); in hfs_ext_write_extent()
146 static inline int __hfs_ext_read_extent(struct hfs_find_data *fd, struct hfs_extent *extent, in __hfs_ext_read_extent() argument
151 hfs_ext_build_key(fd->search_key, cnid, block, type); in __hfs_ext_read_extent()
152 fd->key->ext.FNum = 0; in __hfs_ext_read_extent()
153 res = hfs_brec_find(fd); in __hfs_ext_read_extent()
156 if (fd->key->ext.FNum != fd->search_key->ext.FNum || in __hfs_ext_read_extent()
157 fd->key->ext.FkType != fd->search_key->ext.FkType) in __hfs_ext_read_extent()
159 if (fd->entrylength != sizeof(hfs_extent_rec)) in __hfs_ext_read_extent()
161 hfs_bnode_read(fd->bnode, extent, fd->entryoffset, sizeof(hfs_extent_rec)); in __hfs_ext_read_extent()
165 static inline int __hfs_ext_cache_extent(struct hfs_find_data *fd, struct inode *inode, u32 block) in __hfs_ext_cache_extent() argument
170 res = __hfs_ext_write_extent(inode, fd); in __hfs_ext_cache_extent()
175 res = __hfs_ext_read_extent(fd, HFS_I(inode)->cached_extents, inode->i_ino, in __hfs_ext_cache_extent()
178 HFS_I(inode)->cached_start = be16_to_cpu(fd->key->ext.FABN); in __hfs_ext_cache_extent()
189 struct hfs_find_data fd; in hfs_ext_read_extent() local
196 res = hfs_find_init(HFS_SB(inode->i_sb)->ext_tree, &fd); in hfs_ext_read_extent()
198 res = __hfs_ext_cache_extent(&fd, inode, block); in hfs_ext_read_extent()
199 hfs_find_exit(&fd); in hfs_ext_read_extent()
285 struct hfs_find_data fd; in hfs_free_fork() local
312 res = hfs_find_init(HFS_SB(sb)->ext_tree, &fd); in hfs_free_fork()
316 res = __hfs_ext_read_extent(&fd, extent, cnid, total_blocks, type); in hfs_free_fork()
319 start = be16_to_cpu(fd.key->ext.FABN); in hfs_free_fork()
321 hfs_brec_remove(&fd); in hfs_free_fork()
324 hfs_find_exit(&fd); in hfs_free_fork()
473 struct hfs_find_data fd; in hfs_file_truncate() local
506 res = hfs_find_init(HFS_SB(sb)->ext_tree, &fd); in hfs_file_truncate()
520 res = __hfs_ext_cache_extent(&fd, inode, alloc_cnt); in hfs_file_truncate()
534 hfs_brec_remove(&fd); in hfs_file_truncate()
536 hfs_find_exit(&fd); in hfs_file_truncate()