summaryrefslogtreecommitdiff
path: root/fs/xfs/libxfs/xfs_da_btree.c
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2019-11-02 09:41:18 -0700
committerDarrick J. Wong <darrick.wong@oracle.com>2019-11-05 08:28:27 -0800
commitee4fb16cbec9aa1ce6e837d143f411ee42df1bb5 (patch)
treef62b41be1eb7004a73db2a6a076d1a42d0493d1c /fs/xfs/libxfs/xfs_da_btree.c
parent50f8300904b1b217328219812ee67c231a5aff8d (diff)
xfs: decrease indenting problems in xfs_dabuf_map
Refactor the code that complains when a dir/attr mapping doesn't exist but the caller requires a mapping. This small restructuring helps us to reduce the indenting level. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/xfs/libxfs/xfs_da_btree.c')
-rw-r--r--fs/xfs/libxfs/xfs_da_btree.c38
1 files changed, 21 insertions, 17 deletions
diff --git a/fs/xfs/libxfs/xfs_da_btree.c b/fs/xfs/libxfs/xfs_da_btree.c
index 1e2dc65adeb8..9925d4a7dc33 100644
--- a/fs/xfs/libxfs/xfs_da_btree.c
+++ b/fs/xfs/libxfs/xfs_da_btree.c
@@ -2567,26 +2567,30 @@ xfs_dabuf_map(
}
if (!xfs_da_map_covers_blocks(nirecs, irecs, bno, nfsb)) {
- error = mappedbno == -2 ? -1 : -EFSCORRUPTED;
- if (unlikely(error == -EFSCORRUPTED)) {
- if (xfs_error_level >= XFS_ERRLEVEL_LOW) {
- int i;
- xfs_alert(mp, "%s: bno %lld dir: inode %lld",
- __func__, (long long)bno,
- (long long)dp->i_ino);
- for (i = 0; i < *nmaps; i++) {
- xfs_alert(mp,
+ /* Caller ok with no mapping. */
+ if (mappedbno == -2) {
+ error = -1;
+ goto out;
+ }
+
+ /* Caller expected a mapping, so abort. */
+ if (xfs_error_level >= XFS_ERRLEVEL_LOW) {
+ int i;
+
+ xfs_alert(mp, "%s: bno %lld dir: inode %lld", __func__,
+ (long long)bno, (long long)dp->i_ino);
+ for (i = 0; i < *nmaps; i++) {
+ xfs_alert(mp,
"[%02d] br_startoff %lld br_startblock %lld br_blockcount %lld br_state %d",
- i,
- (long long)irecs[i].br_startoff,
- (long long)irecs[i].br_startblock,
- (long long)irecs[i].br_blockcount,
- irecs[i].br_state);
- }
+ i,
+ (long long)irecs[i].br_startoff,
+ (long long)irecs[i].br_startblock,
+ (long long)irecs[i].br_blockcount,
+ irecs[i].br_state);
}
- XFS_ERROR_REPORT("xfs_da_do_buf(1)",
- XFS_ERRLEVEL_LOW, mp);
}
+ XFS_ERROR_REPORT("xfs_da_do_buf(1)", XFS_ERRLEVEL_LOW, mp);
+ error = -EFSCORRUPTED;
goto out;
}
error = xfs_buf_map_from_irec(mp, map, nmaps, irecs, nirecs);