Commit ee4fb16c authored by Darrick J. Wong's avatar Darrick J. Wong
Browse files

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: default avatarDarrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
parent 50f83009
Loading
Loading
Loading
Loading
+21 −17
Original line number Diff line number Diff line
@@ -2567,13 +2567,18 @@ xfs_dabuf_map(
	}

	if (!xfs_da_map_covers_blocks(nirecs, irecs, bno, nfsb)) {
		error = mappedbno == -2 ? -1 : -EFSCORRUPTED;
		if (unlikely(error == -EFSCORRUPTED)) {
		/* 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);

			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",
@@ -2584,9 +2589,8 @@ xfs_dabuf_map(
					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);