aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/libxfs/xfs_ialloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/libxfs/xfs_ialloc.c')
-rw-r--r--fs/xfs/libxfs/xfs_ialloc.c42
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
962alloc_inode: 962alloc_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