diff options
author | Darrick J. Wong <darrick.wong@oracle.com> | 2019-11-02 09:41:18 -0700 |
---|---|---|
committer | Darrick J. Wong <darrick.wong@oracle.com> | 2019-11-05 08:28:27 -0800 |
commit | ee4fb16cbec9aa1ce6e837d143f411ee42df1bb5 (patch) | |
tree | f62b41be1eb7004a73db2a6a076d1a42d0493d1c /fs/xfs/libxfs/xfs_da_btree.c | |
parent | 50f8300904b1b217328219812ee67c231a5aff8d (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.c | 38 |
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); |