Lines Matching refs:bmap
118 static int nilfs_direct_insert(struct nilfs_bmap *bmap, __u64 key, __u64 ptr) in nilfs_direct_insert() argument
127 if (nilfs_direct_get_ptr(bmap, key) != NILFS_BMAP_INVALID_PTR) in nilfs_direct_insert()
130 if (NILFS_BMAP_USE_VBN(bmap)) { in nilfs_direct_insert()
131 req.bpr_ptr = nilfs_direct_find_target_v(bmap, key); in nilfs_direct_insert()
132 dat = nilfs_bmap_get_dat(bmap); in nilfs_direct_insert()
134 ret = nilfs_bmap_prepare_alloc_ptr(bmap, &req, dat); in nilfs_direct_insert()
140 nilfs_bmap_commit_alloc_ptr(bmap, &req, dat); in nilfs_direct_insert()
141 nilfs_direct_set_ptr(bmap, key, req.bpr_ptr); in nilfs_direct_insert()
143 if (!nilfs_bmap_dirty(bmap)) in nilfs_direct_insert()
144 nilfs_bmap_set_dirty(bmap); in nilfs_direct_insert()
146 if (NILFS_BMAP_USE_VBN(bmap)) in nilfs_direct_insert()
147 nilfs_bmap_set_target_v(bmap, key, req.bpr_ptr); in nilfs_direct_insert()
149 nilfs_inode_add_blocks(bmap->b_inode, 1); in nilfs_direct_insert()
154 static int nilfs_direct_delete(struct nilfs_bmap *bmap, __u64 key) in nilfs_direct_delete() argument
161 nilfs_direct_get_ptr(bmap, key) == NILFS_BMAP_INVALID_PTR) in nilfs_direct_delete()
164 dat = NILFS_BMAP_USE_VBN(bmap) ? nilfs_bmap_get_dat(bmap) : NULL; in nilfs_direct_delete()
165 req.bpr_ptr = nilfs_direct_get_ptr(bmap, key); in nilfs_direct_delete()
167 ret = nilfs_bmap_prepare_end_ptr(bmap, &req, dat); in nilfs_direct_delete()
169 nilfs_bmap_commit_end_ptr(bmap, &req, dat); in nilfs_direct_delete()
170 nilfs_direct_set_ptr(bmap, key, NILFS_BMAP_INVALID_PTR); in nilfs_direct_delete()
171 nilfs_inode_sub_blocks(bmap->b_inode, 1); in nilfs_direct_delete()
209 static int nilfs_direct_check_insert(const struct nilfs_bmap *bmap, __u64 key) in nilfs_direct_check_insert() argument
235 int nilfs_direct_delete_and_convert(struct nilfs_bmap *bmap, in nilfs_direct_delete_and_convert() argument
244 ret = bmap->b_ops->bop_delete(bmap, key); in nilfs_direct_delete_and_convert()
249 if (bmap->b_ops->bop_clear != NULL) in nilfs_direct_delete_and_convert()
250 bmap->b_ops->bop_clear(bmap); in nilfs_direct_delete_and_convert()
253 dptrs = nilfs_direct_dptrs(bmap); in nilfs_direct_delete_and_convert()
264 nilfs_direct_init(bmap); in nilfs_direct_delete_and_convert()
268 static int nilfs_direct_propagate(struct nilfs_bmap *bmap, in nilfs_direct_propagate() argument
277 if (!NILFS_BMAP_USE_VBN(bmap)) in nilfs_direct_propagate()
280 dat = nilfs_bmap_get_dat(bmap); in nilfs_direct_propagate()
281 key = nilfs_bmap_data_get_key(bmap, bh); in nilfs_direct_propagate()
282 ptr = nilfs_direct_get_ptr(bmap, key); in nilfs_direct_propagate()
290 bmap->b_ptr_type == NILFS_BMAP_PTR_VS); in nilfs_direct_propagate()
292 nilfs_direct_set_ptr(bmap, key, newreq.pr_entry_nr); in nilfs_direct_propagate()
333 static int nilfs_direct_assign(struct nilfs_bmap *bmap, in nilfs_direct_assign() argument
341 key = nilfs_bmap_data_get_key(bmap, *bh); in nilfs_direct_assign()
347 ptr = nilfs_direct_get_ptr(bmap, key); in nilfs_direct_assign()
354 return NILFS_BMAP_USE_VBN(bmap) ? in nilfs_direct_assign()
355 nilfs_direct_assign_v(bmap, key, ptr, bh, blocknr, binfo) : in nilfs_direct_assign()
356 nilfs_direct_assign_p(bmap, key, ptr, bh, blocknr, binfo); in nilfs_direct_assign()
382 int nilfs_direct_init(struct nilfs_bmap *bmap) in nilfs_direct_init() argument
384 bmap->b_ops = &nilfs_direct_ops; in nilfs_direct_init()