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

@@ -511,24 +511,16 @@ static void nilfs_bmap_abort_alloc_v(struct nilfs_bmap *bmap,
nilfs_dat_abort_alloc(nilfs_bmap_get_dat(bmap), &req->bpr_req);
}
static int nilfs_bmap_prepare_start_v(struct nilfs_bmap *bmap,
union nilfs_bmap_ptr_req *req)
int nilfs_bmap_start_v(struct nilfs_bmap *bmap, union nilfs_bmap_ptr_req *req,
sector_t blocknr)
{
return nilfs_dat_prepare_start(nilfs_bmap_get_dat(bmap), &req->bpr_req);
}
struct inode *dat = nilfs_bmap_get_dat(bmap);
int ret;
static void nilfs_bmap_commit_start_v(struct nilfs_bmap *bmap,
union nilfs_bmap_ptr_req *req,
sector_t blocknr)
{
nilfs_dat_commit_start(nilfs_bmap_get_dat(bmap), &req->bpr_req,
blocknr);
}
static void nilfs_bmap_abort_start_v(struct nilfs_bmap *bmap,
union nilfs_bmap_ptr_req *req)
{
nilfs_dat_abort_start(nilfs_bmap_get_dat(bmap), &req->bpr_req);
ret = nilfs_dat_prepare_start(dat, &req->bpr_req);
if (likely(!ret))
nilfs_dat_commit_start(dat, &req->bpr_req, blocknr);
return ret;
}
static int nilfs_bmap_prepare_end_v(struct nilfs_bmap *bmap,
@@ -636,9 +628,6 @@ static const struct nilfs_bmap_ptr_operations nilfs_bmap_ptr_ops_v = {
.bpop_prepare_alloc_ptr = nilfs_bmap_prepare_alloc_v,
.bpop_commit_alloc_ptr = nilfs_bmap_commit_alloc_v,
.bpop_abort_alloc_ptr = nilfs_bmap_abort_alloc_v,
.bpop_prepare_start_ptr = nilfs_bmap_prepare_start_v,
.bpop_commit_start_ptr = nilfs_bmap_commit_start_v,
.bpop_abort_start_ptr = nilfs_bmap_abort_start_v,
.bpop_prepare_end_ptr = nilfs_bmap_prepare_end_v,
.bpop_commit_end_ptr = nilfs_bmap_commit_end_v,
.bpop_abort_end_ptr = nilfs_bmap_abort_end_v,
@@ -650,9 +639,6 @@ static const struct nilfs_bmap_ptr_operations nilfs_bmap_ptr_ops_vmdt = {
.bpop_prepare_alloc_ptr = nilfs_bmap_prepare_alloc_v,
.bpop_commit_alloc_ptr = nilfs_bmap_commit_alloc_v,
.bpop_abort_alloc_ptr = nilfs_bmap_abort_alloc_v,
.bpop_prepare_start_ptr = nilfs_bmap_prepare_start_v,
.bpop_commit_start_ptr = nilfs_bmap_commit_start_v,
.bpop_abort_start_ptr = nilfs_bmap_abort_start_v,
.bpop_prepare_end_ptr = nilfs_bmap_prepare_end_v,
.bpop_commit_end_ptr = nilfs_bmap_commit_end_vmdt,
.bpop_abort_end_ptr = nilfs_bmap_abort_end_v,
@@ -664,9 +650,6 @@ static const struct nilfs_bmap_ptr_operations nilfs_bmap_ptr_ops_p = {
.bpop_prepare_alloc_ptr = nilfs_bmap_prepare_alloc_p,
.bpop_commit_alloc_ptr = nilfs_bmap_commit_alloc_p,
.bpop_abort_alloc_ptr = nilfs_bmap_abort_alloc_p,
.bpop_prepare_start_ptr = NULL,
.bpop_commit_start_ptr = NULL,
.bpop_abort_start_ptr = NULL,
.bpop_prepare_end_ptr = NULL,
.bpop_commit_end_ptr = NULL,
.bpop_abort_end_ptr = NULL,
@@ -678,9 +661,6 @@ static const struct nilfs_bmap_ptr_operations nilfs_bmap_ptr_ops_gc = {
.bpop_prepare_alloc_ptr = NULL,
.bpop_commit_alloc_ptr = NULL,
.bpop_abort_alloc_ptr = NULL,
.bpop_prepare_start_ptr = NULL,
.bpop_commit_start_ptr = NULL,
.bpop_abort_start_ptr = NULL,
.bpop_prepare_end_ptr = NULL,
.bpop_commit_end_ptr = NULL,
.bpop_abort_end_ptr = NULL,