xfs: always update params on small allocation
authorBrian Foster <bfoster@redhat.com>
Sat, 29 Jun 2019 02:30:20 +0000 (19:30 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Sat, 29 Jun 2019 02:30:20 +0000 (19:30 -0700)
xfs_alloc_ag_vextent_small() doesn't update the output parameters in
the event of an AGFL allocation. Instead, it updates the
xfs_alloc_arg structure directly to complete the allocation.

Update both args and the output params to provide consistent
behavior for future callers.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/libxfs/xfs_alloc.c

index 5b0fadc..6fc22b6 100644 (file)
@@ -758,8 +758,8 @@ xfs_alloc_ag_vextent_small(
                }
                xfs_trans_binval(args->tp, bp);
        }
-       args->len = 1;
-       args->agbno = fbno;
+       *fbnop = args->agbno = fbno;
+       *flenp = args->len = 1;
        XFS_WANT_CORRUPTED_GOTO(args->mp,
                fbno < be32_to_cpu(XFS_BUF_TO_AGF(args->agbp)->agf_length),
                error);