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()
121 res = hfs_bmap_reserve(fd->tree, fd->tree->depth + 1); in __hfs_ext_write_extent()
124 hfs_brec_insert(fd, HFS_I(inode)->cached_extents, sizeof(hfs_extent_rec)); in __hfs_ext_write_extent()
129 hfs_bnode_write(fd->bnode, HFS_I(inode)->cached_extents, fd->entryoffset, fd->entrylength); in __hfs_ext_write_extent()
137 struct hfs_find_data fd; in hfs_ext_write_extent() local
141 res = hfs_find_init(HFS_SB(inode->i_sb)->ext_tree, &fd); in hfs_ext_write_extent()
144 res = __hfs_ext_write_extent(inode, &fd); in hfs_ext_write_extent()
145 hfs_find_exit(&fd); in hfs_ext_write_extent()
150 static inline int __hfs_ext_read_extent(struct hfs_find_data *fd, struct hfs_extent *extent, in __hfs_ext_read_extent() argument
155 hfs_ext_build_key(fd->search_key, cnid, block, type); in __hfs_ext_read_extent()
156 fd->key->ext.FNum = 0; in __hfs_ext_read_extent()
157 res = hfs_brec_find(fd); in __hfs_ext_read_extent()
160 if (fd->key->ext.FNum != fd->search_key->ext.FNum || in __hfs_ext_read_extent()
161 fd->key->ext.FkType != fd->search_key->ext.FkType) in __hfs_ext_read_extent()
163 if (fd->entrylength != sizeof(hfs_extent_rec)) in __hfs_ext_read_extent()
165 hfs_bnode_read(fd->bnode, extent, fd->entryoffset, sizeof(hfs_extent_rec)); in __hfs_ext_read_extent()
169 static inline int __hfs_ext_cache_extent(struct hfs_find_data *fd, struct inode *inode, u32 block) in __hfs_ext_cache_extent() argument
174 res = __hfs_ext_write_extent(inode, fd); in __hfs_ext_cache_extent()
179 res = __hfs_ext_read_extent(fd, HFS_I(inode)->cached_extents, inode->i_ino, in __hfs_ext_cache_extent()
182 HFS_I(inode)->cached_start = be16_to_cpu(fd->key->ext.FABN); in __hfs_ext_cache_extent()
193 struct hfs_find_data fd; in hfs_ext_read_extent() local
200 res = hfs_find_init(HFS_SB(inode->i_sb)->ext_tree, &fd); in hfs_ext_read_extent()
202 res = __hfs_ext_cache_extent(&fd, inode, block); in hfs_ext_read_extent()
203 hfs_find_exit(&fd); in hfs_ext_read_extent()
289 struct hfs_find_data fd; in hfs_free_fork() local
316 res = hfs_find_init(HFS_SB(sb)->ext_tree, &fd); in hfs_free_fork()
320 res = __hfs_ext_read_extent(&fd, extent, cnid, total_blocks, type); in hfs_free_fork()
323 start = be16_to_cpu(fd.key->ext.FABN); in hfs_free_fork()
325 hfs_brec_remove(&fd); in hfs_free_fork()
328 hfs_find_exit(&fd); in hfs_free_fork()
479 struct hfs_find_data fd; in hfs_file_truncate() local
512 res = hfs_find_init(HFS_SB(sb)->ext_tree, &fd); in hfs_file_truncate()
526 res = __hfs_ext_cache_extent(&fd, inode, alloc_cnt); in hfs_file_truncate()
540 hfs_brec_remove(&fd); in hfs_file_truncate()
542 hfs_find_exit(&fd); in hfs_file_truncate()