diff options
Diffstat (limited to 'fs/xfs/xfs_bmap.c')
-rw-r--r-- | fs/xfs/xfs_bmap.c | 62 |
1 files changed, 31 insertions, 31 deletions
diff --git a/fs/xfs/xfs_bmap.c b/fs/xfs/xfs_bmap.c index 9f635f0ccf08..e415a4698e9c 100644 --- a/fs/xfs/xfs_bmap.c +++ b/fs/xfs/xfs_bmap.c | |||
@@ -2763,8 +2763,8 @@ xfs_bmap_btree_to_extents( | |||
2763 | ASSERT(ifp->if_flags & XFS_IFEXTENTS); | 2763 | ASSERT(ifp->if_flags & XFS_IFEXTENTS); |
2764 | ASSERT(XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_BTREE); | 2764 | ASSERT(XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_BTREE); |
2765 | rblock = ifp->if_broot; | 2765 | rblock = ifp->if_broot; |
2766 | ASSERT(INT_GET(rblock->bb_level, ARCH_CONVERT) == 1); | 2766 | ASSERT(be16_to_cpu(rblock->bb_level) == 1); |
2767 | ASSERT(INT_GET(rblock->bb_numrecs, ARCH_CONVERT) == 1); | 2767 | ASSERT(be16_to_cpu(rblock->bb_numrecs) == 1); |
2768 | ASSERT(XFS_BMAP_BROOT_MAXRECS(ifp->if_broot_bytes) == 1); | 2768 | ASSERT(XFS_BMAP_BROOT_MAXRECS(ifp->if_broot_bytes) == 1); |
2769 | mp = ip->i_mount; | 2769 | mp = ip->i_mount; |
2770 | pp = XFS_BMAP_BROOT_PTR_ADDR(rblock, 1, ifp->if_broot_bytes); | 2770 | pp = XFS_BMAP_BROOT_PTR_ADDR(rblock, 1, ifp->if_broot_bytes); |
@@ -3207,11 +3207,11 @@ xfs_bmap_extents_to_btree( | |||
3207 | * Fill in the root. | 3207 | * Fill in the root. |
3208 | */ | 3208 | */ |
3209 | block = ifp->if_broot; | 3209 | block = ifp->if_broot; |
3210 | INT_SET(block->bb_magic, ARCH_CONVERT, XFS_BMAP_MAGIC); | 3210 | block->bb_magic = cpu_to_be32(XFS_BMAP_MAGIC); |
3211 | INT_SET(block->bb_level, ARCH_CONVERT, 1); | 3211 | block->bb_level = cpu_to_be16(1); |
3212 | INT_SET(block->bb_numrecs, ARCH_CONVERT, 1); | 3212 | block->bb_numrecs = cpu_to_be16(1); |
3213 | INT_SET(block->bb_leftsib, ARCH_CONVERT, NULLDFSBNO); | 3213 | block->bb_leftsib = cpu_to_be64(NULLDFSBNO); |
3214 | INT_SET(block->bb_rightsib, ARCH_CONVERT, NULLDFSBNO); | 3214 | block->bb_rightsib = cpu_to_be64(NULLDFSBNO); |
3215 | /* | 3215 | /* |
3216 | * Need a cursor. Can't allocate until bb_level is filled in. | 3216 | * Need a cursor. Can't allocate until bb_level is filled in. |
3217 | */ | 3217 | */ |
@@ -3264,10 +3264,10 @@ xfs_bmap_extents_to_btree( | |||
3264 | * Fill in the child block. | 3264 | * Fill in the child block. |
3265 | */ | 3265 | */ |
3266 | ablock = XFS_BUF_TO_BMBT_BLOCK(abp); | 3266 | ablock = XFS_BUF_TO_BMBT_BLOCK(abp); |
3267 | INT_SET(ablock->bb_magic, ARCH_CONVERT, XFS_BMAP_MAGIC); | 3267 | ablock->bb_magic = cpu_to_be32(XFS_BMAP_MAGIC); |
3268 | ablock->bb_level = 0; | 3268 | ablock->bb_level = 0; |
3269 | INT_SET(ablock->bb_leftsib, ARCH_CONVERT, NULLDFSBNO); | 3269 | ablock->bb_leftsib = cpu_to_be64(NULLDFSBNO); |
3270 | INT_SET(ablock->bb_rightsib, ARCH_CONVERT, NULLDFSBNO); | 3270 | ablock->bb_rightsib = cpu_to_be64(NULLDFSBNO); |
3271 | arp = XFS_BMAP_REC_IADDR(ablock, 1, cur); | 3271 | arp = XFS_BMAP_REC_IADDR(ablock, 1, cur); |
3272 | nextents = ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t); | 3272 | nextents = ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t); |
3273 | for (ep = ifp->if_u1.if_extents, cnt = i = 0; i < nextents; i++, ep++) { | 3273 | for (ep = ifp->if_u1.if_extents, cnt = i = 0; i < nextents; i++, ep++) { |
@@ -3277,8 +3277,8 @@ xfs_bmap_extents_to_btree( | |||
3277 | arp++; cnt++; | 3277 | arp++; cnt++; |
3278 | } | 3278 | } |
3279 | } | 3279 | } |
3280 | INT_SET(ablock->bb_numrecs, ARCH_CONVERT, cnt); | 3280 | ASSERT(cnt == XFS_IFORK_NEXTENTS(ip, whichfork)); |
3281 | ASSERT(INT_GET(ablock->bb_numrecs, ARCH_CONVERT) == XFS_IFORK_NEXTENTS(ip, whichfork)); | 3281 | ablock->bb_numrecs = cpu_to_be16(cnt); |
3282 | /* | 3282 | /* |
3283 | * Fill in the root key and pointer. | 3283 | * Fill in the root key and pointer. |
3284 | */ | 3284 | */ |
@@ -3292,7 +3292,7 @@ xfs_bmap_extents_to_btree( | |||
3292 | * the root is at the right level. | 3292 | * the root is at the right level. |
3293 | */ | 3293 | */ |
3294 | xfs_bmbt_log_block(cur, abp, XFS_BB_ALL_BITS); | 3294 | xfs_bmbt_log_block(cur, abp, XFS_BB_ALL_BITS); |
3295 | xfs_bmbt_log_recs(cur, abp, 1, INT_GET(ablock->bb_numrecs, ARCH_CONVERT)); | 3295 | xfs_bmbt_log_recs(cur, abp, 1, be16_to_cpu(ablock->bb_numrecs)); |
3296 | ASSERT(*curp == NULL); | 3296 | ASSERT(*curp == NULL); |
3297 | *curp = cur; | 3297 | *curp = cur; |
3298 | *logflagsp = XFS_ILOG_CORE | XFS_ILOG_FBROOT(whichfork); | 3298 | *logflagsp = XFS_ILOG_CORE | XFS_ILOG_FBROOT(whichfork); |
@@ -4371,8 +4371,8 @@ xfs_bmap_read_extents( | |||
4371 | /* | 4371 | /* |
4372 | * Root level must use BMAP_BROOT_PTR_ADDR macro to get ptr out. | 4372 | * Root level must use BMAP_BROOT_PTR_ADDR macro to get ptr out. |
4373 | */ | 4373 | */ |
4374 | ASSERT(INT_GET(block->bb_level, ARCH_CONVERT) > 0); | 4374 | level = be16_to_cpu(block->bb_level); |
4375 | level = INT_GET(block->bb_level, ARCH_CONVERT); | 4375 | ASSERT(level > 0); |
4376 | pp = XFS_BMAP_BROOT_PTR_ADDR(block, 1, ifp->if_broot_bytes); | 4376 | pp = XFS_BMAP_BROOT_PTR_ADDR(block, 1, ifp->if_broot_bytes); |
4377 | ASSERT(INT_GET(*pp, ARCH_CONVERT) != NULLDFSBNO); | 4377 | ASSERT(INT_GET(*pp, ARCH_CONVERT) != NULLDFSBNO); |
4378 | ASSERT(XFS_FSB_TO_AGNO(mp, INT_GET(*pp, ARCH_CONVERT)) < mp->m_sb.sb_agcount); | 4378 | ASSERT(XFS_FSB_TO_AGNO(mp, INT_GET(*pp, ARCH_CONVERT)) < mp->m_sb.sb_agcount); |
@@ -4415,7 +4415,7 @@ xfs_bmap_read_extents( | |||
4415 | xfs_extnum_t num_recs; | 4415 | xfs_extnum_t num_recs; |
4416 | 4416 | ||
4417 | 4417 | ||
4418 | num_recs = INT_GET(block->bb_numrecs, ARCH_CONVERT); | 4418 | num_recs = be16_to_cpu(block->bb_numrecs); |
4419 | if (unlikely(i + num_recs > room)) { | 4419 | if (unlikely(i + num_recs > room)) { |
4420 | ASSERT(i + num_recs <= room); | 4420 | ASSERT(i + num_recs <= room); |
4421 | xfs_fs_cmn_err(CE_WARN, ip->i_mount, | 4421 | xfs_fs_cmn_err(CE_WARN, ip->i_mount, |
@@ -4432,7 +4432,7 @@ xfs_bmap_read_extents( | |||
4432 | /* | 4432 | /* |
4433 | * Read-ahead the next leaf block, if any. | 4433 | * Read-ahead the next leaf block, if any. |
4434 | */ | 4434 | */ |
4435 | nextbno = INT_GET(block->bb_rightsib, ARCH_CONVERT); | 4435 | nextbno = be64_to_cpu(block->bb_rightsib); |
4436 | if (nextbno != NULLFSBLOCK) | 4436 | if (nextbno != NULLFSBLOCK) |
4437 | xfs_btree_reada_bufl(mp, nextbno, 1); | 4437 | xfs_btree_reada_bufl(mp, nextbno, 1); |
4438 | /* | 4438 | /* |
@@ -4689,7 +4689,7 @@ xfs_bmapi( | |||
4689 | } | 4689 | } |
4690 | if (wr && *firstblock == NULLFSBLOCK) { | 4690 | if (wr && *firstblock == NULLFSBLOCK) { |
4691 | if (XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_BTREE) | 4691 | if (XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_BTREE) |
4692 | minleft = INT_GET(ifp->if_broot->bb_level, ARCH_CONVERT) + 1; | 4692 | minleft = be16_to_cpu(ifp->if_broot->bb_level) + 1; |
4693 | else | 4693 | else |
4694 | minleft = 1; | 4694 | minleft = 1; |
4695 | } else | 4695 | } else |
@@ -5967,10 +5967,10 @@ xfs_check_block( | |||
5967 | xfs_bmbt_ptr_t *pp, *thispa; /* pointer to block address */ | 5967 | xfs_bmbt_ptr_t *pp, *thispa; /* pointer to block address */ |
5968 | xfs_bmbt_key_t *prevp, *keyp; | 5968 | xfs_bmbt_key_t *prevp, *keyp; |
5969 | 5969 | ||
5970 | ASSERT(INT_GET(block->bb_level, ARCH_CONVERT) > 0); | 5970 | ASSERT(be16_to_cpu(block->bb_level) > 0); |
5971 | 5971 | ||
5972 | prevp = NULL; | 5972 | prevp = NULL; |
5973 | for( i = 1; i <= INT_GET(block->bb_numrecs, ARCH_CONVERT);i++) { | 5973 | for( i = 1; i <= be16_to_cpu(block->bb_numrecs); i++) { |
5974 | dmxr = mp->m_bmap_dmxr[0]; | 5974 | dmxr = mp->m_bmap_dmxr[0]; |
5975 | 5975 | ||
5976 | if (root) { | 5976 | if (root) { |
@@ -5995,7 +5995,7 @@ xfs_check_block( | |||
5995 | pp = XFS_BTREE_PTR_ADDR(mp->m_sb.sb_blocksize, | 5995 | pp = XFS_BTREE_PTR_ADDR(mp->m_sb.sb_blocksize, |
5996 | xfs_bmbt, block, i, dmxr); | 5996 | xfs_bmbt, block, i, dmxr); |
5997 | } | 5997 | } |
5998 | for (j = i+1; j <= INT_GET(block->bb_numrecs, ARCH_CONVERT); j++) { | 5998 | for (j = i+1; j <= be16_to_cpu(block->bb_numrecs); j++) { |
5999 | if (root) { | 5999 | if (root) { |
6000 | thispa = XFS_BMAP_BROOT_PTR_ADDR(block, j, sz); | 6000 | thispa = XFS_BMAP_BROOT_PTR_ADDR(block, j, sz); |
6001 | } else { | 6001 | } else { |
@@ -6048,8 +6048,8 @@ xfs_bmap_check_leaf_extents( | |||
6048 | /* | 6048 | /* |
6049 | * Root level must use BMAP_BROOT_PTR_ADDR macro to get ptr out. | 6049 | * Root level must use BMAP_BROOT_PTR_ADDR macro to get ptr out. |
6050 | */ | 6050 | */ |
6051 | ASSERT(INT_GET(block->bb_level, ARCH_CONVERT) > 0); | 6051 | level = be16_to_cpu(block->bb_level); |
6052 | level = INT_GET(block->bb_level, ARCH_CONVERT); | 6052 | ASSERT(level > 0); |
6053 | xfs_check_block(block, mp, 1, ifp->if_broot_bytes); | 6053 | xfs_check_block(block, mp, 1, ifp->if_broot_bytes); |
6054 | pp = XFS_BMAP_BROOT_PTR_ADDR(block, 1, ifp->if_broot_bytes); | 6054 | pp = XFS_BMAP_BROOT_PTR_ADDR(block, 1, ifp->if_broot_bytes); |
6055 | ASSERT(INT_GET(*pp, ARCH_CONVERT) != NULLDFSBNO); | 6055 | ASSERT(INT_GET(*pp, ARCH_CONVERT) != NULLDFSBNO); |
@@ -6109,13 +6109,13 @@ xfs_bmap_check_leaf_extents( | |||
6109 | xfs_extnum_t num_recs; | 6109 | xfs_extnum_t num_recs; |
6110 | 6110 | ||
6111 | 6111 | ||
6112 | num_recs = INT_GET(block->bb_numrecs, ARCH_CONVERT); | 6112 | num_recs = be16_to_cpu(block->bb_numrecs); |
6113 | 6113 | ||
6114 | /* | 6114 | /* |
6115 | * Read-ahead the next leaf block, if any. | 6115 | * Read-ahead the next leaf block, if any. |
6116 | */ | 6116 | */ |
6117 | 6117 | ||
6118 | nextbno = INT_GET(block->bb_rightsib, ARCH_CONVERT); | 6118 | nextbno = be64_to_cpu(block->bb_rightsib); |
6119 | 6119 | ||
6120 | /* | 6120 | /* |
6121 | * Check all the extents to make sure they are OK. | 6121 | * Check all the extents to make sure they are OK. |
@@ -6212,8 +6212,8 @@ xfs_bmap_count_blocks( | |||
6212 | * Root level must use BMAP_BROOT_PTR_ADDR macro to get ptr out. | 6212 | * Root level must use BMAP_BROOT_PTR_ADDR macro to get ptr out. |
6213 | */ | 6213 | */ |
6214 | block = ifp->if_broot; | 6214 | block = ifp->if_broot; |
6215 | ASSERT(INT_GET(block->bb_level, ARCH_CONVERT) > 0); | 6215 | level = be16_to_cpu(block->bb_level); |
6216 | level = INT_GET(block->bb_level, ARCH_CONVERT); | 6216 | ASSERT(level > 0); |
6217 | pp = XFS_BMAP_BROOT_PTR_ADDR(block, 1, ifp->if_broot_bytes); | 6217 | pp = XFS_BMAP_BROOT_PTR_ADDR(block, 1, ifp->if_broot_bytes); |
6218 | ASSERT(INT_GET(*pp, ARCH_CONVERT) != NULLDFSBNO); | 6218 | ASSERT(INT_GET(*pp, ARCH_CONVERT) != NULLDFSBNO); |
6219 | ASSERT(XFS_FSB_TO_AGNO(mp, INT_GET(*pp, ARCH_CONVERT)) < mp->m_sb.sb_agcount); | 6219 | ASSERT(XFS_FSB_TO_AGNO(mp, INT_GET(*pp, ARCH_CONVERT)) < mp->m_sb.sb_agcount); |
@@ -6258,14 +6258,14 @@ xfs_bmap_count_tree( | |||
6258 | 6258 | ||
6259 | if (--level) { | 6259 | if (--level) { |
6260 | /* Not at node above leafs, count this level of nodes */ | 6260 | /* Not at node above leafs, count this level of nodes */ |
6261 | nextbno = INT_GET(block->bb_rightsib, ARCH_CONVERT); | 6261 | nextbno = be64_to_cpu(block->bb_rightsib); |
6262 | while (nextbno != NULLFSBLOCK) { | 6262 | while (nextbno != NULLFSBLOCK) { |
6263 | if ((error = xfs_btree_read_bufl(mp, tp, nextbno, | 6263 | if ((error = xfs_btree_read_bufl(mp, tp, nextbno, |
6264 | 0, &nbp, XFS_BMAP_BTREE_REF))) | 6264 | 0, &nbp, XFS_BMAP_BTREE_REF))) |
6265 | return error; | 6265 | return error; |
6266 | *count += 1; | 6266 | *count += 1; |
6267 | nextblock = XFS_BUF_TO_BMBT_BLOCK(nbp); | 6267 | nextblock = XFS_BUF_TO_BMBT_BLOCK(nbp); |
6268 | nextbno = INT_GET(nextblock->bb_rightsib, ARCH_CONVERT); | 6268 | nextbno = be64_to_cpu(nextblock->bb_rightsib); |
6269 | xfs_trans_brelse(tp, nbp); | 6269 | xfs_trans_brelse(tp, nbp); |
6270 | } | 6270 | } |
6271 | 6271 | ||
@@ -6284,8 +6284,8 @@ xfs_bmap_count_tree( | |||
6284 | } else { | 6284 | } else { |
6285 | /* count all level 1 nodes and their leaves */ | 6285 | /* count all level 1 nodes and their leaves */ |
6286 | for (;;) { | 6286 | for (;;) { |
6287 | nextbno = INT_GET(block->bb_rightsib, ARCH_CONVERT); | 6287 | nextbno = be64_to_cpu(block->bb_rightsib); |
6288 | numrecs = INT_GET(block->bb_numrecs, ARCH_CONVERT); | 6288 | numrecs = be16_to_cpu(block->bb_numrecs); |
6289 | frp = XFS_BTREE_REC_ADDR(mp->m_sb.sb_blocksize, | 6289 | frp = XFS_BTREE_REC_ADDR(mp->m_sb.sb_blocksize, |
6290 | xfs_bmbt, block, 1, mp->m_bmap_dmxr[0]); | 6290 | xfs_bmbt, block, 1, mp->m_bmap_dmxr[0]); |
6291 | if (unlikely(xfs_bmap_disk_count_leaves(frp, numrecs, count) < 0)) { | 6291 | if (unlikely(xfs_bmap_disk_count_leaves(frp, numrecs, count) < 0)) { |