On Thu, Dec 14, 2023 at 07:34:32AM +0100, Christoph Hellwig wrote: > Use common code for both xfs_rtallocate_range calls by moving > the !isfree logic into the non-default branch. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> --D > --- > fs/xfs/xfs_rtalloc.c | 34 +++++++++++++--------------------- > 1 file changed, 13 insertions(+), 21 deletions(-) > > diff --git a/fs/xfs/xfs_rtalloc.c b/fs/xfs/xfs_rtalloc.c > index 5f42422a976a3e..ea6f221c6a193c 100644 > --- a/fs/xfs/xfs_rtalloc.c > +++ b/fs/xfs/xfs_rtalloc.c > @@ -349,32 +349,24 @@ xfs_rtallocate_extent_exact( > if (error) > return error; > > - if (isfree) { > + if (!isfree) { > /* > - * If it is, allocate it and return success. > + * If not, allocate what there is, if it's at least minlen. > */ > - error = xfs_rtallocate_range(args, start, maxlen); > - if (error) > - return error; > - *len = maxlen; > - *rtx = start; > - return 0; > - } > - /* > - * If not, allocate what there is, if it's at least minlen. > - */ > - maxlen = next - start; > - if (maxlen < minlen) > - return -ENOSPC; > - > - /* > - * Trim off tail of extent, if prod is specified. > - */ > - if (prod > 1 && (i = maxlen % prod)) { > - maxlen -= i; > + maxlen = next - start; > if (maxlen < minlen) > return -ENOSPC; > + > + /* > + * Trim off tail of extent, if prod is specified. > + */ > + if (prod > 1 && (i = maxlen % prod)) { > + maxlen -= i; > + if (maxlen < minlen) > + return -ENOSPC; > + } > } > + > /* > * Allocate what we can and return it. > */ > -- > 2.39.2 > >