nilfs2: unify bmap operations starting use of indirect block address

This simplifies some low level functions of bmap.

Three bmap pointer operations, nilfs_bmap_start_v(),
nilfs_bmap_commit_v(), and nilfs_bmap_abort_v(), are unified into one
nilfs_bmap_start_v() function. And the related indirect function calls
are replaced with it.

Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
This commit is contained in:
Ryusuke Konishi
2009-05-03 21:43:01 +09:00
parent 6582207064
commit d97a51a7e3
4 changed files with 14 additions and 45 deletions

View File

@@ -327,12 +327,9 @@ static int nilfs_direct_assign_v(struct nilfs_direct *direct,
int ret;
req.bpr_ptr = ptr;
ret = direct->d_bmap.b_pops->bpop_prepare_start_ptr(
&direct->d_bmap, &req);
if (ret < 0)
ret = nilfs_bmap_start_v(&direct->d_bmap, &req, blocknr);
if (unlikely(ret < 0))
return ret;
direct->d_bmap.b_pops->bpop_commit_start_ptr(&direct->d_bmap,
&req, blocknr);
binfo->bi_v.bi_vblocknr = nilfs_bmap_ptr_to_dptr(ptr);
binfo->bi_v.bi_blkoff = nilfs_bmap_key_to_dkey(key);