diff options
Diffstat (limited to 'fs/xfs/xfs_btree.c')
-rw-r--r-- | fs/xfs/xfs_btree.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/fs/xfs/xfs_btree.c b/fs/xfs/xfs_btree.c index 121ea99e615a..7e791160092d 100644 --- a/fs/xfs/xfs_btree.c +++ b/fs/xfs/xfs_btree.c | |||
@@ -266,9 +266,12 @@ xfs_btree_dup_cursor( | |||
266 | for (i = 0; i < new->bc_nlevels; i++) { | 266 | for (i = 0; i < new->bc_nlevels; i++) { |
267 | new->bc_ptrs[i] = cur->bc_ptrs[i]; | 267 | new->bc_ptrs[i] = cur->bc_ptrs[i]; |
268 | new->bc_ra[i] = cur->bc_ra[i]; | 268 | new->bc_ra[i] = cur->bc_ra[i]; |
269 | if ((bp = cur->bc_bufs[i])) { | 269 | bp = cur->bc_bufs[i]; |
270 | if ((error = xfs_trans_read_buf(mp, tp, mp->m_ddev_targp, | 270 | if (bp) { |
271 | XFS_BUF_ADDR(bp), mp->m_bsize, 0, &bp))) { | 271 | error = xfs_trans_read_buf(mp, tp, mp->m_ddev_targp, |
272 | XFS_BUF_ADDR(bp), mp->m_bsize, | ||
273 | 0, &bp, NULL); | ||
274 | if (error) { | ||
272 | xfs_btree_del_cursor(new, error); | 275 | xfs_btree_del_cursor(new, error); |
273 | *ncur = NULL; | 276 | *ncur = NULL; |
274 | return error; | 277 | return error; |
@@ -624,10 +627,10 @@ xfs_btree_read_bufl( | |||
624 | 627 | ||
625 | ASSERT(fsbno != NULLFSBLOCK); | 628 | ASSERT(fsbno != NULLFSBLOCK); |
626 | d = XFS_FSB_TO_DADDR(mp, fsbno); | 629 | d = XFS_FSB_TO_DADDR(mp, fsbno); |
627 | if ((error = xfs_trans_read_buf(mp, tp, mp->m_ddev_targp, d, | 630 | error = xfs_trans_read_buf(mp, tp, mp->m_ddev_targp, d, |
628 | mp->m_bsize, lock, &bp))) { | 631 | mp->m_bsize, lock, &bp, NULL); |
632 | if (error) | ||
629 | return error; | 633 | return error; |
630 | } | ||
631 | ASSERT(!xfs_buf_geterror(bp)); | 634 | ASSERT(!xfs_buf_geterror(bp)); |
632 | if (bp) | 635 | if (bp) |
633 | xfs_buf_set_ref(bp, refval); | 636 | xfs_buf_set_ref(bp, refval); |
@@ -650,7 +653,7 @@ xfs_btree_reada_bufl( | |||
650 | 653 | ||
651 | ASSERT(fsbno != NULLFSBLOCK); | 654 | ASSERT(fsbno != NULLFSBLOCK); |
652 | d = XFS_FSB_TO_DADDR(mp, fsbno); | 655 | d = XFS_FSB_TO_DADDR(mp, fsbno); |
653 | xfs_buf_readahead(mp->m_ddev_targp, d, mp->m_bsize * count); | 656 | xfs_buf_readahead(mp->m_ddev_targp, d, mp->m_bsize * count, NULL); |
654 | } | 657 | } |
655 | 658 | ||
656 | /* | 659 | /* |
@@ -670,7 +673,7 @@ xfs_btree_reada_bufs( | |||
670 | ASSERT(agno != NULLAGNUMBER); | 673 | ASSERT(agno != NULLAGNUMBER); |
671 | ASSERT(agbno != NULLAGBLOCK); | 674 | ASSERT(agbno != NULLAGBLOCK); |
672 | d = XFS_AGB_TO_DADDR(mp, agno, agbno); | 675 | d = XFS_AGB_TO_DADDR(mp, agno, agbno); |
673 | xfs_buf_readahead(mp->m_ddev_targp, d, mp->m_bsize * count); | 676 | xfs_buf_readahead(mp->m_ddev_targp, d, mp->m_bsize * count, NULL); |
674 | } | 677 | } |
675 | 678 | ||
676 | STATIC int | 679 | STATIC int |
@@ -1013,7 +1016,7 @@ xfs_btree_read_buf_block( | |||
1013 | 1016 | ||
1014 | d = xfs_btree_ptr_to_daddr(cur, ptr); | 1017 | d = xfs_btree_ptr_to_daddr(cur, ptr); |
1015 | error = xfs_trans_read_buf(mp, cur->bc_tp, mp->m_ddev_targp, d, | 1018 | error = xfs_trans_read_buf(mp, cur->bc_tp, mp->m_ddev_targp, d, |
1016 | mp->m_bsize, flags, bpp); | 1019 | mp->m_bsize, flags, bpp, NULL); |
1017 | if (error) | 1020 | if (error) |
1018 | return error; | 1021 | return error; |
1019 | 1022 | ||