]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs: always update params on small allocation
authorBrian Foster <bfoster@redhat.com>
Wed, 28 Aug 2019 16:08:08 +0000 (12:08 -0400)
committerEric Sandeen <sandeen@redhat.com>
Wed, 28 Aug 2019 16:08:08 +0000 (12:08 -0400)
Source kernel commit: 7e36a3a63d3e480e75b4991aa983d4059ca5d401

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>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
libxfs/xfs_alloc.c

index 6e5d02c8fbbc18bbd7f3af80c27542acce75eaef..2cc7561e6bcc984c81f15aa4e8293115584a3868 100644 (file)
@@ -754,8 +754,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);