diff options
author | Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> | 2009-05-03 21:43:01 +0900 |
---|---|---|
committer | Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> | 2009-06-10 23:41:09 +0900 |
commit | d97a51a7e3c298d9899ea91165dfa0783fa5cc5c (patch) | |
tree | 31c3b082565cd3004c2036fe79657297a29a5824 /fs/nilfs2/btree.c | |
parent | 65822070646ed7f2cf520439006dd863529be16e (diff) | |
download | lwn-d97a51a7e3c298d9899ea91165dfa0783fa5cc5c.tar.gz lwn-d97a51a7e3c298d9899ea91165dfa0783fa5cc5c.zip |
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>
Diffstat (limited to 'fs/nilfs2/btree.c')
-rw-r--r-- | fs/nilfs2/btree.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/nilfs2/btree.c b/fs/nilfs2/btree.c index 6b37a2767293..959e5a7a8035 100644 --- a/fs/nilfs2/btree.c +++ b/fs/nilfs2/btree.c @@ -2066,12 +2066,9 @@ static int nilfs_btree_assign_v(struct nilfs_btree *btree, ptr = nilfs_btree_node_get_ptr(btree, parent, path[level + 1].bp_index); req.bpr_ptr = ptr; - ret = btree->bt_bmap.b_pops->bpop_prepare_start_ptr(&btree->bt_bmap, - &req); - if (ret < 0) + ret = nilfs_bmap_start_v(&btree->bt_bmap, &req, blocknr); + if (unlikely(ret < 0)) return ret; - btree->bt_bmap.b_pops->bpop_commit_start_ptr(&btree->bt_bmap, - &req, blocknr); key = nilfs_btree_node_get_key(btree, parent, path[level + 1].bp_index); |