xfs: cleanup error handling in xfs_buf_get_map

Use a single goto label for freeing the buffer and returning an
error.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Dave Chinner <dchinner@redhat.com>
This commit is contained in:
Christoph Hellwig 2021-06-07 11:50:47 +10:00 коммит произвёл Dave Chinner
Родитель 289ae7b48c
Коммит 170041f715
1 изменённых файлов: 7 добавлений и 8 удалений

Просмотреть файл

@ -689,16 +689,12 @@ xfs_buf_get_map(
return error;
error = xfs_buf_allocate_memory(new_bp, flags);
if (error) {
xfs_buf_free(new_bp);
return error;
}
if (error)
goto out_free_buf;
error = xfs_buf_find(target, map, nmaps, flags, new_bp, &bp);
if (error) {
xfs_buf_free(new_bp);
return error;
}
if (error)
goto out_free_buf;
if (bp != new_bp)
xfs_buf_free(new_bp);
@ -726,6 +722,9 @@ found:
trace_xfs_buf_get(bp, flags, _RET_IP_);
*bpp = bp;
return 0;
out_free_buf:
xfs_buf_free(new_bp);
return error;
}
int