diff options
author | Dave Chinner <david@fromorbit.com> | 2015-02-23 18:24:07 -0500 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2015-02-23 18:24:07 -0500 |
commit | 3cabb836d801c3ad791c2dc6be07ec5819ab0a37 (patch) | |
tree | dbc5bff557d23e978fd3c8920c7d99d8c09fa272 /fs/xfs/libxfs/xfs_ialloc.c | |
parent | 83d5f01858b56db69c8e4ca5389ef7c29bfdb5dd (diff) | |
parent | 444a702231412e82fb1c09679adc159301e9242c (diff) |
Merge branch 'xfs-misc-fixes-for-4.1' into for-next
Diffstat (limited to 'fs/xfs/libxfs/xfs_ialloc.c')
-rw-r--r-- | fs/xfs/libxfs/xfs_ialloc.c | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/fs/xfs/libxfs/xfs_ialloc.c b/fs/xfs/libxfs/xfs_ialloc.c index 116ef1ddb3e3..db0444893e96 100644 --- a/fs/xfs/libxfs/xfs_ialloc.c +++ b/fs/xfs/libxfs/xfs_ialloc.c | |||
@@ -700,7 +700,7 @@ xfs_ialloc_next_rec( | |||
700 | error = xfs_inobt_get_rec(cur, rec, &i); | 700 | error = xfs_inobt_get_rec(cur, rec, &i); |
701 | if (error) | 701 | if (error) |
702 | return error; | 702 | return error; |
703 | XFS_WANT_CORRUPTED_RETURN(i == 1); | 703 | XFS_WANT_CORRUPTED_RETURN(cur->bc_mp, i == 1); |
704 | } | 704 | } |
705 | 705 | ||
706 | return 0; | 706 | return 0; |
@@ -724,7 +724,7 @@ xfs_ialloc_get_rec( | |||
724 | error = xfs_inobt_get_rec(cur, rec, &i); | 724 | error = xfs_inobt_get_rec(cur, rec, &i); |
725 | if (error) | 725 | if (error) |
726 | return error; | 726 | return error; |
727 | XFS_WANT_CORRUPTED_RETURN(i == 1); | 727 | XFS_WANT_CORRUPTED_RETURN(cur->bc_mp, i == 1); |
728 | } | 728 | } |
729 | 729 | ||
730 | return 0; | 730 | return 0; |
@@ -783,12 +783,12 @@ xfs_dialloc_ag_inobt( | |||
783 | error = xfs_inobt_lookup(cur, pagino, XFS_LOOKUP_LE, &i); | 783 | error = xfs_inobt_lookup(cur, pagino, XFS_LOOKUP_LE, &i); |
784 | if (error) | 784 | if (error) |
785 | goto error0; | 785 | goto error0; |
786 | XFS_WANT_CORRUPTED_GOTO(i == 1, error0); | 786 | XFS_WANT_CORRUPTED_GOTO(mp, i == 1, error0); |
787 | 787 | ||
788 | error = xfs_inobt_get_rec(cur, &rec, &j); | 788 | error = xfs_inobt_get_rec(cur, &rec, &j); |
789 | if (error) | 789 | if (error) |
790 | goto error0; | 790 | goto error0; |
791 | XFS_WANT_CORRUPTED_GOTO(j == 1, error0); | 791 | XFS_WANT_CORRUPTED_GOTO(mp, j == 1, error0); |
792 | 792 | ||
793 | if (rec.ir_freecount > 0) { | 793 | if (rec.ir_freecount > 0) { |
794 | /* | 794 | /* |
@@ -944,19 +944,19 @@ newino: | |||
944 | error = xfs_inobt_lookup(cur, 0, XFS_LOOKUP_GE, &i); | 944 | error = xfs_inobt_lookup(cur, 0, XFS_LOOKUP_GE, &i); |
945 | if (error) | 945 | if (error) |
946 | goto error0; | 946 | goto error0; |
947 | XFS_WANT_CORRUPTED_GOTO(i == 1, error0); | 947 | XFS_WANT_CORRUPTED_GOTO(mp, i == 1, error0); |
948 | 948 | ||
949 | for (;;) { | 949 | for (;;) { |
950 | error = xfs_inobt_get_rec(cur, &rec, &i); | 950 | error = xfs_inobt_get_rec(cur, &rec, &i); |
951 | if (error) | 951 | if (error) |
952 | goto error0; | 952 | goto error0; |
953 | XFS_WANT_CORRUPTED_GOTO(i == 1, error0); | 953 | XFS_WANT_CORRUPTED_GOTO(mp, i == 1, error0); |
954 | if (rec.ir_freecount > 0) | 954 | if (rec.ir_freecount > 0) |
955 | break; | 955 | break; |
956 | error = xfs_btree_increment(cur, 0, &i); | 956 | error = xfs_btree_increment(cur, 0, &i); |
957 | if (error) | 957 | if (error) |
958 | goto error0; | 958 | goto error0; |
959 | XFS_WANT_CORRUPTED_GOTO(i == 1, error0); | 959 | XFS_WANT_CORRUPTED_GOTO(mp, i == 1, error0); |
960 | } | 960 | } |
961 | 961 | ||
962 | alloc_inode: | 962 | alloc_inode: |
@@ -1016,7 +1016,7 @@ xfs_dialloc_ag_finobt_near( | |||
1016 | error = xfs_inobt_get_rec(lcur, rec, &i); | 1016 | error = xfs_inobt_get_rec(lcur, rec, &i); |
1017 | if (error) | 1017 | if (error) |
1018 | return error; | 1018 | return error; |
1019 | XFS_WANT_CORRUPTED_RETURN(i == 1); | 1019 | XFS_WANT_CORRUPTED_RETURN(lcur->bc_mp, i == 1); |
1020 | 1020 | ||
1021 | /* | 1021 | /* |
1022 | * See if we've landed in the parent inode record. The finobt | 1022 | * See if we've landed in the parent inode record. The finobt |
@@ -1039,10 +1039,10 @@ xfs_dialloc_ag_finobt_near( | |||
1039 | error = xfs_inobt_get_rec(rcur, &rrec, &j); | 1039 | error = xfs_inobt_get_rec(rcur, &rrec, &j); |
1040 | if (error) | 1040 | if (error) |
1041 | goto error_rcur; | 1041 | goto error_rcur; |
1042 | XFS_WANT_CORRUPTED_GOTO(j == 1, error_rcur); | 1042 | XFS_WANT_CORRUPTED_GOTO(lcur->bc_mp, j == 1, error_rcur); |
1043 | } | 1043 | } |
1044 | 1044 | ||
1045 | XFS_WANT_CORRUPTED_GOTO(i == 1 || j == 1, error_rcur); | 1045 | XFS_WANT_CORRUPTED_GOTO(lcur->bc_mp, i == 1 || j == 1, error_rcur); |
1046 | if (i == 1 && j == 1) { | 1046 | if (i == 1 && j == 1) { |
1047 | /* | 1047 | /* |
1048 | * Both the left and right records are valid. Choose the closer | 1048 | * Both the left and right records are valid. Choose the closer |
@@ -1095,7 +1095,7 @@ xfs_dialloc_ag_finobt_newino( | |||
1095 | error = xfs_inobt_get_rec(cur, rec, &i); | 1095 | error = xfs_inobt_get_rec(cur, rec, &i); |
1096 | if (error) | 1096 | if (error) |
1097 | return error; | 1097 | return error; |
1098 | XFS_WANT_CORRUPTED_RETURN(i == 1); | 1098 | XFS_WANT_CORRUPTED_RETURN(cur->bc_mp, i == 1); |
1099 | return 0; | 1099 | return 0; |
1100 | } | 1100 | } |
1101 | } | 1101 | } |
@@ -1106,12 +1106,12 @@ xfs_dialloc_ag_finobt_newino( | |||
1106 | error = xfs_inobt_lookup(cur, 0, XFS_LOOKUP_GE, &i); | 1106 | error = xfs_inobt_lookup(cur, 0, XFS_LOOKUP_GE, &i); |
1107 | if (error) | 1107 | if (error) |
1108 | return error; | 1108 | return error; |
1109 | XFS_WANT_CORRUPTED_RETURN(i == 1); | 1109 | XFS_WANT_CORRUPTED_RETURN(cur->bc_mp, i == 1); |
1110 | 1110 | ||
1111 | error = xfs_inobt_get_rec(cur, rec, &i); | 1111 | error = xfs_inobt_get_rec(cur, rec, &i); |
1112 | if (error) | 1112 | if (error) |
1113 | return error; | 1113 | return error; |
1114 | XFS_WANT_CORRUPTED_RETURN(i == 1); | 1114 | XFS_WANT_CORRUPTED_RETURN(cur->bc_mp, i == 1); |
1115 | 1115 | ||
1116 | return 0; | 1116 | return 0; |
1117 | } | 1117 | } |
@@ -1133,19 +1133,19 @@ xfs_dialloc_ag_update_inobt( | |||
1133 | error = xfs_inobt_lookup(cur, frec->ir_startino, XFS_LOOKUP_EQ, &i); | 1133 | error = xfs_inobt_lookup(cur, frec->ir_startino, XFS_LOOKUP_EQ, &i); |
1134 | if (error) | 1134 | if (error) |
1135 | return error; | 1135 | return error; |
1136 | XFS_WANT_CORRUPTED_RETURN(i == 1); | 1136 | XFS_WANT_CORRUPTED_RETURN(cur->bc_mp, i == 1); |
1137 | 1137 | ||
1138 | error = xfs_inobt_get_rec(cur, &rec, &i); | 1138 | error = xfs_inobt_get_rec(cur, &rec, &i); |
1139 | if (error) | 1139 | if (error) |
1140 | return error; | 1140 | return error; |
1141 | XFS_WANT_CORRUPTED_RETURN(i == 1); | 1141 | XFS_WANT_CORRUPTED_RETURN(cur->bc_mp, i == 1); |
1142 | ASSERT((XFS_AGINO_TO_OFFSET(cur->bc_mp, rec.ir_startino) % | 1142 | ASSERT((XFS_AGINO_TO_OFFSET(cur->bc_mp, rec.ir_startino) % |
1143 | XFS_INODES_PER_CHUNK) == 0); | 1143 | XFS_INODES_PER_CHUNK) == 0); |
1144 | 1144 | ||
1145 | rec.ir_free &= ~XFS_INOBT_MASK(offset); | 1145 | rec.ir_free &= ~XFS_INOBT_MASK(offset); |
1146 | rec.ir_freecount--; | 1146 | rec.ir_freecount--; |
1147 | 1147 | ||
1148 | XFS_WANT_CORRUPTED_RETURN((rec.ir_free == frec->ir_free) && | 1148 | XFS_WANT_CORRUPTED_RETURN(cur->bc_mp, (rec.ir_free == frec->ir_free) && |
1149 | (rec.ir_freecount == frec->ir_freecount)); | 1149 | (rec.ir_freecount == frec->ir_freecount)); |
1150 | 1150 | ||
1151 | return xfs_inobt_update(cur, &rec); | 1151 | return xfs_inobt_update(cur, &rec); |
@@ -1475,14 +1475,14 @@ xfs_difree_inobt( | |||
1475 | __func__, error); | 1475 | __func__, error); |
1476 | goto error0; | 1476 | goto error0; |
1477 | } | 1477 | } |
1478 | XFS_WANT_CORRUPTED_GOTO(i == 1, error0); | 1478 | XFS_WANT_CORRUPTED_GOTO(mp, i == 1, error0); |
1479 | error = xfs_inobt_get_rec(cur, &rec, &i); | 1479 | error = xfs_inobt_get_rec(cur, &rec, &i); |
1480 | if (error) { | 1480 | if (error) { |
1481 | xfs_warn(mp, "%s: xfs_inobt_get_rec() returned error %d.", | 1481 | xfs_warn(mp, "%s: xfs_inobt_get_rec() returned error %d.", |
1482 | __func__, error); | 1482 | __func__, error); |
1483 | goto error0; | 1483 | goto error0; |
1484 | } | 1484 | } |
1485 | XFS_WANT_CORRUPTED_GOTO(i == 1, error0); | 1485 | XFS_WANT_CORRUPTED_GOTO(mp, i == 1, error0); |
1486 | /* | 1486 | /* |
1487 | * Get the offset in the inode chunk. | 1487 | * Get the offset in the inode chunk. |
1488 | */ | 1488 | */ |
@@ -1592,7 +1592,7 @@ xfs_difree_finobt( | |||
1592 | * freed an inode in a previously fully allocated chunk. If not, | 1592 | * freed an inode in a previously fully allocated chunk. If not, |
1593 | * something is out of sync. | 1593 | * something is out of sync. |
1594 | */ | 1594 | */ |
1595 | XFS_WANT_CORRUPTED_GOTO(ibtrec->ir_freecount == 1, error); | 1595 | XFS_WANT_CORRUPTED_GOTO(mp, ibtrec->ir_freecount == 1, error); |
1596 | 1596 | ||
1597 | error = xfs_inobt_insert_rec(cur, ibtrec->ir_freecount, | 1597 | error = xfs_inobt_insert_rec(cur, ibtrec->ir_freecount, |
1598 | ibtrec->ir_free, &i); | 1598 | ibtrec->ir_free, &i); |
@@ -1613,12 +1613,12 @@ xfs_difree_finobt( | |||
1613 | error = xfs_inobt_get_rec(cur, &rec, &i); | 1613 | error = xfs_inobt_get_rec(cur, &rec, &i); |
1614 | if (error) | 1614 | if (error) |
1615 | goto error; | 1615 | goto error; |
1616 | XFS_WANT_CORRUPTED_GOTO(i == 1, error); | 1616 | XFS_WANT_CORRUPTED_GOTO(mp, i == 1, error); |
1617 | 1617 | ||
1618 | rec.ir_free |= XFS_INOBT_MASK(offset); | 1618 | rec.ir_free |= XFS_INOBT_MASK(offset); |
1619 | rec.ir_freecount++; | 1619 | rec.ir_freecount++; |
1620 | 1620 | ||
1621 | XFS_WANT_CORRUPTED_GOTO((rec.ir_free == ibtrec->ir_free) && | 1621 | XFS_WANT_CORRUPTED_GOTO(mp, (rec.ir_free == ibtrec->ir_free) && |
1622 | (rec.ir_freecount == ibtrec->ir_freecount), | 1622 | (rec.ir_freecount == ibtrec->ir_freecount), |
1623 | error); | 1623 | error); |
1624 | 1624 | ||