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:
Родитель
289ae7b48c
Коммит
170041f715
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче