summaryrefslogtreecommitdiffstats
path: root/fs/nilfs2/direct.c
diff options
context:
space:
mode:
authorRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>2009-05-03 14:43:01 +0200
committerRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>2009-06-10 16:41:09 +0200
commitd97a51a7e3c298d9899ea91165dfa0783fa5cc5c (patch)
tree31c3b082565cd3004c2036fe79657297a29a5824 /fs/nilfs2/direct.c
parentnilfs2: remove nilfs_dat_prepare_free function (diff)
downloadlinux-d97a51a7e3c298d9899ea91165dfa0783fa5cc5c.tar.xz
linux-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/direct.c')
-rw-r--r--fs/nilfs2/direct.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/nilfs2/direct.c b/fs/nilfs2/direct.c
index c6379e482781..5cbba8284bea 100644
--- a/fs/nilfs2/direct.c
+++ b/fs/nilfs2/direct.c
@@ -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);