diff options
author | Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> | 2009-05-03 08:43:01 -0400 |
---|---|---|
committer | Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> | 2009-06-10 10:41:09 -0400 |
commit | d97a51a7e3c298d9899ea91165dfa0783fa5cc5c (patch) | |
tree | 31c3b082565cd3004c2036fe79657297a29a5824 /fs/nilfs2/bmap.c | |
parent | 65822070646ed7f2cf520439006dd863529be16e (diff) |
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/bmap.c')
-rw-r--r-- | fs/nilfs2/bmap.c | 36 |
1 files changed, 8 insertions, 28 deletions
diff --git a/fs/nilfs2/bmap.c b/fs/nilfs2/bmap.c index 064279e33bbb..4f2523f5c0b1 100644 --- a/fs/nilfs2/bmap.c +++ b/fs/nilfs2/bmap.c | |||
@@ -511,24 +511,16 @@ static void nilfs_bmap_abort_alloc_v(struct nilfs_bmap *bmap, | |||
511 | nilfs_dat_abort_alloc(nilfs_bmap_get_dat(bmap), &req->bpr_req); | 511 | nilfs_dat_abort_alloc(nilfs_bmap_get_dat(bmap), &req->bpr_req); |
512 | } | 512 | } |
513 | 513 | ||
514 | static int nilfs_bmap_prepare_start_v(struct nilfs_bmap *bmap, | 514 | int nilfs_bmap_start_v(struct nilfs_bmap *bmap, union nilfs_bmap_ptr_req *req, |
515 | union nilfs_bmap_ptr_req *req) | 515 | sector_t blocknr) |
516 | { | 516 | { |
517 | return nilfs_dat_prepare_start(nilfs_bmap_get_dat(bmap), &req->bpr_req); | 517 | struct inode *dat = nilfs_bmap_get_dat(bmap); |
518 | } | 518 | int ret; |
519 | |||
520 | static void nilfs_bmap_commit_start_v(struct nilfs_bmap *bmap, | ||
521 | union nilfs_bmap_ptr_req *req, | ||
522 | sector_t blocknr) | ||
523 | { | ||
524 | nilfs_dat_commit_start(nilfs_bmap_get_dat(bmap), &req->bpr_req, | ||
525 | blocknr); | ||
526 | } | ||
527 | 519 | ||
528 | static void nilfs_bmap_abort_start_v(struct nilfs_bmap *bmap, | 520 | ret = nilfs_dat_prepare_start(dat, &req->bpr_req); |
529 | union nilfs_bmap_ptr_req *req) | 521 | if (likely(!ret)) |
530 | { | 522 | nilfs_dat_commit_start(dat, &req->bpr_req, blocknr); |
531 | nilfs_dat_abort_start(nilfs_bmap_get_dat(bmap), &req->bpr_req); | 523 | return ret; |
532 | } | 524 | } |
533 | 525 | ||
534 | static int nilfs_bmap_prepare_end_v(struct nilfs_bmap *bmap, | 526 | 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 = { | |||
636 | .bpop_prepare_alloc_ptr = nilfs_bmap_prepare_alloc_v, | 628 | .bpop_prepare_alloc_ptr = nilfs_bmap_prepare_alloc_v, |
637 | .bpop_commit_alloc_ptr = nilfs_bmap_commit_alloc_v, | 629 | .bpop_commit_alloc_ptr = nilfs_bmap_commit_alloc_v, |
638 | .bpop_abort_alloc_ptr = nilfs_bmap_abort_alloc_v, | 630 | .bpop_abort_alloc_ptr = nilfs_bmap_abort_alloc_v, |
639 | .bpop_prepare_start_ptr = nilfs_bmap_prepare_start_v, | ||
640 | .bpop_commit_start_ptr = nilfs_bmap_commit_start_v, | ||
641 | .bpop_abort_start_ptr = nilfs_bmap_abort_start_v, | ||
642 | .bpop_prepare_end_ptr = nilfs_bmap_prepare_end_v, | 631 | .bpop_prepare_end_ptr = nilfs_bmap_prepare_end_v, |
643 | .bpop_commit_end_ptr = nilfs_bmap_commit_end_v, | 632 | .bpop_commit_end_ptr = nilfs_bmap_commit_end_v, |
644 | .bpop_abort_end_ptr = nilfs_bmap_abort_end_v, | 633 | .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 = { | |||
650 | .bpop_prepare_alloc_ptr = nilfs_bmap_prepare_alloc_v, | 639 | .bpop_prepare_alloc_ptr = nilfs_bmap_prepare_alloc_v, |
651 | .bpop_commit_alloc_ptr = nilfs_bmap_commit_alloc_v, | 640 | .bpop_commit_alloc_ptr = nilfs_bmap_commit_alloc_v, |
652 | .bpop_abort_alloc_ptr = nilfs_bmap_abort_alloc_v, | 641 | .bpop_abort_alloc_ptr = nilfs_bmap_abort_alloc_v, |
653 | .bpop_prepare_start_ptr = nilfs_bmap_prepare_start_v, | ||
654 | .bpop_commit_start_ptr = nilfs_bmap_commit_start_v, | ||
655 | .bpop_abort_start_ptr = nilfs_bmap_abort_start_v, | ||
656 | .bpop_prepare_end_ptr = nilfs_bmap_prepare_end_v, | 642 | .bpop_prepare_end_ptr = nilfs_bmap_prepare_end_v, |
657 | .bpop_commit_end_ptr = nilfs_bmap_commit_end_vmdt, | 643 | .bpop_commit_end_ptr = nilfs_bmap_commit_end_vmdt, |
658 | .bpop_abort_end_ptr = nilfs_bmap_abort_end_v, | 644 | .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 = { | |||
664 | .bpop_prepare_alloc_ptr = nilfs_bmap_prepare_alloc_p, | 650 | .bpop_prepare_alloc_ptr = nilfs_bmap_prepare_alloc_p, |
665 | .bpop_commit_alloc_ptr = nilfs_bmap_commit_alloc_p, | 651 | .bpop_commit_alloc_ptr = nilfs_bmap_commit_alloc_p, |
666 | .bpop_abort_alloc_ptr = nilfs_bmap_abort_alloc_p, | 652 | .bpop_abort_alloc_ptr = nilfs_bmap_abort_alloc_p, |
667 | .bpop_prepare_start_ptr = NULL, | ||
668 | .bpop_commit_start_ptr = NULL, | ||
669 | .bpop_abort_start_ptr = NULL, | ||
670 | .bpop_prepare_end_ptr = NULL, | 653 | .bpop_prepare_end_ptr = NULL, |
671 | .bpop_commit_end_ptr = NULL, | 654 | .bpop_commit_end_ptr = NULL, |
672 | .bpop_abort_end_ptr = NULL, | 655 | .bpop_abort_end_ptr = NULL, |
@@ -678,9 +661,6 @@ static const struct nilfs_bmap_ptr_operations nilfs_bmap_ptr_ops_gc = { | |||
678 | .bpop_prepare_alloc_ptr = NULL, | 661 | .bpop_prepare_alloc_ptr = NULL, |
679 | .bpop_commit_alloc_ptr = NULL, | 662 | .bpop_commit_alloc_ptr = NULL, |
680 | .bpop_abort_alloc_ptr = NULL, | 663 | .bpop_abort_alloc_ptr = NULL, |
681 | .bpop_prepare_start_ptr = NULL, | ||
682 | .bpop_commit_start_ptr = NULL, | ||
683 | .bpop_abort_start_ptr = NULL, | ||
684 | .bpop_prepare_end_ptr = NULL, | 664 | .bpop_prepare_end_ptr = NULL, |
685 | .bpop_commit_end_ptr = NULL, | 665 | .bpop_commit_end_ptr = NULL, |
686 | .bpop_abort_end_ptr = NULL, | 666 | .bpop_abort_end_ptr = NULL, |