~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise

« back to all changes in this revision

Viewing changes to fs/xfs/xfs_ialloc.c

  • Committer: Bazaar Package Importer
  • Author(s): Paolo Pisati
  • Date: 2011-06-29 15:23:51 UTC
  • mfrom: (26.1.1 natty-proposed)
  • Revision ID: james.westby@ubuntu.com-20110629152351-xs96tm303d95rpbk
Tags: 3.0.0-1200.2
* Rebased against 3.0.0-6.7
* BSP from TI based on 3.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
1055
1055
         */
1056
1056
        agno = XFS_INO_TO_AGNO(mp, inode);
1057
1057
        if (agno >= mp->m_sb.sb_agcount)  {
1058
 
                cmn_err(CE_WARN,
1059
 
                        "xfs_difree: agno >= mp->m_sb.sb_agcount (%d >= %d) on %s.  Returning EINVAL.",
1060
 
                        agno, mp->m_sb.sb_agcount, mp->m_fsname);
 
1058
                xfs_warn(mp, "%s: agno >= mp->m_sb.sb_agcount (%d >= %d).",
 
1059
                        __func__, agno, mp->m_sb.sb_agcount);
1061
1060
                ASSERT(0);
1062
1061
                return XFS_ERROR(EINVAL);
1063
1062
        }
1064
1063
        agino = XFS_INO_TO_AGINO(mp, inode);
1065
1064
        if (inode != XFS_AGINO_TO_INO(mp, agno, agino))  {
1066
 
                cmn_err(CE_WARN,
1067
 
                        "xfs_difree: inode != XFS_AGINO_TO_INO() "
1068
 
                        "(%llu != %llu) on %s.  Returning EINVAL.",
1069
 
                        (unsigned long long)inode,
1070
 
                        (unsigned long long)XFS_AGINO_TO_INO(mp, agno, agino),
1071
 
                        mp->m_fsname);
 
1065
                xfs_warn(mp, "%s: inode != XFS_AGINO_TO_INO() (%llu != %llu).",
 
1066
                        __func__, (unsigned long long)inode,
 
1067
                        (unsigned long long)XFS_AGINO_TO_INO(mp, agno, agino));
1072
1068
                ASSERT(0);
1073
1069
                return XFS_ERROR(EINVAL);
1074
1070
        }
1075
1071
        agbno = XFS_AGINO_TO_AGBNO(mp, agino);
1076
1072
        if (agbno >= mp->m_sb.sb_agblocks)  {
1077
 
                cmn_err(CE_WARN,
1078
 
                        "xfs_difree: agbno >= mp->m_sb.sb_agblocks (%d >= %d) on %s.  Returning EINVAL.",
1079
 
                        agbno, mp->m_sb.sb_agblocks, mp->m_fsname);
 
1073
                xfs_warn(mp, "%s: agbno >= mp->m_sb.sb_agblocks (%d >= %d).",
 
1074
                        __func__, agbno, mp->m_sb.sb_agblocks);
1080
1075
                ASSERT(0);
1081
1076
                return XFS_ERROR(EINVAL);
1082
1077
        }
1085
1080
         */
1086
1081
        error = xfs_ialloc_read_agi(mp, tp, agno, &agbp);
1087
1082
        if (error) {
1088
 
                cmn_err(CE_WARN,
1089
 
                        "xfs_difree: xfs_ialloc_read_agi() returned an error %d on %s.  Returning error.",
1090
 
                        error, mp->m_fsname);
 
1083
                xfs_warn(mp, "%s: xfs_ialloc_read_agi() returned error %d.",
 
1084
                        __func__, error);
1091
1085
                return error;
1092
1086
        }
1093
1087
        agi = XFS_BUF_TO_AGI(agbp);
1106
1100
         * Look for the entry describing this inode.
1107
1101
         */
1108
1102
        if ((error = xfs_inobt_lookup(cur, agino, XFS_LOOKUP_LE, &i))) {
1109
 
                cmn_err(CE_WARN,
1110
 
                        "xfs_difree: xfs_inobt_lookup returned()  an error %d on %s.  Returning error.",
1111
 
                        error, mp->m_fsname);
 
1103
                xfs_warn(mp, "%s: xfs_inobt_lookup() returned error %d.",
 
1104
                        __func__, error);
1112
1105
                goto error0;
1113
1106
        }
1114
1107
        XFS_WANT_CORRUPTED_GOTO(i == 1, error0);
1115
1108
        error = xfs_inobt_get_rec(cur, &rec, &i);
1116
1109
        if (error) {
1117
 
                cmn_err(CE_WARN,
1118
 
                        "xfs_difree: xfs_inobt_get_rec()  returned an error %d on %s.  Returning error.",
1119
 
                        error, mp->m_fsname);
 
1110
                xfs_warn(mp, "%s: xfs_inobt_get_rec() returned error %d.",
 
1111
                        __func__, error);
1120
1112
                goto error0;
1121
1113
        }
1122
1114
        XFS_WANT_CORRUPTED_GOTO(i == 1, error0);
1157
1149
                xfs_trans_mod_sb(tp, XFS_TRANS_SB_IFREE, -(ilen - 1));
1158
1150
 
1159
1151
                if ((error = xfs_btree_delete(cur, &i))) {
1160
 
                        cmn_err(CE_WARN, "xfs_difree: xfs_btree_delete returned an error %d on %s.\n",
1161
 
                                error, mp->m_fsname);
 
1152
                        xfs_warn(mp, "%s: xfs_btree_delete returned error %d.",
 
1153
                                __func__, error);
1162
1154
                        goto error0;
1163
1155
                }
1164
1156
 
1170
1162
 
1171
1163
                error = xfs_inobt_update(cur, &rec);
1172
1164
                if (error) {
1173
 
                        cmn_err(CE_WARN,
1174
 
        "xfs_difree: xfs_inobt_update returned an error %d on %s.",
1175
 
                                error, mp->m_fsname);
 
1165
                        xfs_warn(mp, "%s: xfs_inobt_update returned error %d.",
 
1166
                                __func__, error);
1176
1167
                        goto error0;
1177
1168
                }
1178
1169
 
1218
1209
 
1219
1210
        error = xfs_ialloc_read_agi(mp, tp, agno, &agbp);
1220
1211
        if (error) {
1221
 
                xfs_fs_cmn_err(CE_ALERT, mp, "xfs_imap: "
1222
 
                                "xfs_ialloc_read_agi() returned "
1223
 
                                "error %d, agno %d",
1224
 
                                error, agno);
 
1212
                xfs_alert(mp,
 
1213
                        "%s: xfs_ialloc_read_agi() returned error %d, agno %d",
 
1214
                        __func__, error, agno);
1225
1215
                return error;
1226
1216
        }
1227
1217
 
1299
1289
                if (flags & XFS_IGET_UNTRUSTED)
1300
1290
                        return XFS_ERROR(EINVAL);
1301
1291
                if (agno >= mp->m_sb.sb_agcount) {
1302
 
                        xfs_fs_cmn_err(CE_ALERT, mp,
1303
 
                                        "xfs_imap: agno (%d) >= "
1304
 
                                        "mp->m_sb.sb_agcount (%d)",
1305
 
                                        agno,  mp->m_sb.sb_agcount);
 
1292
                        xfs_alert(mp,
 
1293
                                "%s: agno (%d) >= mp->m_sb.sb_agcount (%d)",
 
1294
                                __func__, agno, mp->m_sb.sb_agcount);
1306
1295
                }
1307
1296
                if (agbno >= mp->m_sb.sb_agblocks) {
1308
 
                        xfs_fs_cmn_err(CE_ALERT, mp,
1309
 
                                        "xfs_imap: agbno (0x%llx) >= "
1310
 
                                        "mp->m_sb.sb_agblocks (0x%lx)",
1311
 
                                        (unsigned long long) agbno,
1312
 
                                        (unsigned long) mp->m_sb.sb_agblocks);
 
1297
                        xfs_alert(mp,
 
1298
                "%s: agbno (0x%llx) >= mp->m_sb.sb_agblocks (0x%lx)",
 
1299
                                __func__, (unsigned long long)agbno,
 
1300
                                (unsigned long)mp->m_sb.sb_agblocks);
1313
1301
                }
1314
1302
                if (ino != XFS_AGINO_TO_INO(mp, agno, agino)) {
1315
 
                        xfs_fs_cmn_err(CE_ALERT, mp,
1316
 
                                        "xfs_imap: ino (0x%llx) != "
1317
 
                                        "XFS_AGINO_TO_INO(mp, agno, agino) "
1318
 
                                        "(0x%llx)",
1319
 
                                        ino, XFS_AGINO_TO_INO(mp, agno, agino));
 
1303
                        xfs_alert(mp,
 
1304
                "%s: ino (0x%llx) != XFS_AGINO_TO_INO() (0x%llx)",
 
1305
                                __func__, ino,
 
1306
                                XFS_AGINO_TO_INO(mp, agno, agino));
1320
1307
                }
1321
1308
                xfs_stack_trace();
1322
1309
#endif /* DEBUG */
1388
1375
         */
1389
1376
        if ((imap->im_blkno + imap->im_len) >
1390
1377
            XFS_FSB_TO_BB(mp, mp->m_sb.sb_dblocks)) {
1391
 
                xfs_fs_cmn_err(CE_ALERT, mp, "xfs_imap: "
1392
 
                        "(imap->im_blkno (0x%llx) + imap->im_len (0x%llx)) > "
1393
 
                        " XFS_FSB_TO_BB(mp, mp->m_sb.sb_dblocks) (0x%llx)",
1394
 
                        (unsigned long long) imap->im_blkno,
 
1378
                xfs_alert(mp,
 
1379
        "%s: (im_blkno (0x%llx) + im_len (0x%llx)) > sb_dblocks (0x%llx)",
 
1380
                        __func__, (unsigned long long) imap->im_blkno,
1395
1381
                        (unsigned long long) imap->im_len,
1396
1382
                        XFS_FSB_TO_BB(mp, mp->m_sb.sb_dblocks));
1397
1383
                return XFS_ERROR(EINVAL);