]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs: remove dfops parameter from ifree call stack
authorBrian Foster <bfoster@redhat.com>
Thu, 4 Oct 2018 19:24:01 +0000 (14:24 -0500)
committerEric Sandeen <sandeen@redhat.com>
Thu, 4 Oct 2018 19:24:01 +0000 (14:24 -0500)
Source kernel commit: 0e0417f3e54668cec9f677850130e6fbb64edcf2

The inode free callchain starting in xfs_inactive_ifree() already
associates its dfops with the transaction. It still passes the dfops
on the stack down through xfs_difree_inobt(), however.

Clean up the call stack and reference dfops directly from the
transaction. This patch does not change behavior.

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_ialloc.c
libxfs/xfs_ialloc.h

index 91d00e263fc4e9899f6c39f56765e97e6317f950..c36171f3511d52133e10715f6394a591123e0246 100644 (file)
@@ -1909,7 +1909,6 @@ xfs_difree_inobt(
        struct xfs_trans                *tp,
        struct xfs_buf                  *agbp,
        xfs_agino_t                     agino,
-       struct xfs_defer_ops            *dfops,
        struct xfs_icluster             *xic,
        struct xfs_inobt_rec_incore     *orec)
 {
@@ -1997,7 +1996,7 @@ xfs_difree_inobt(
                        goto error0;
                }
 
-               xfs_difree_inode_chunk(mp, agno, &rec, dfops);
+               xfs_difree_inode_chunk(mp, agno, &rec, tp->t_dfops);
        } else {
                xic->deleted = false;
 
@@ -2142,7 +2141,6 @@ int
 xfs_difree(
        struct xfs_trans        *tp,            /* transaction pointer */
        xfs_ino_t               inode,          /* inode to be freed */
-       struct xfs_defer_ops    *dfops,         /* extents to free */
        struct xfs_icluster     *xic)   /* cluster info if deleted */
 {
        /* REFERENCED */
@@ -2194,7 +2192,7 @@ xfs_difree(
        /*
         * Fix up the inode allocation btree.
         */
-       error = xfs_difree_inobt(mp, tp, agbp, agino, dfops, xic, &rec);
+       error = xfs_difree_inobt(mp, tp, agbp, agino, xic, &rec);
        if (error)
                goto error0;
 
index 90b09c5f163bdf323314ec4a02b5993611f6af1f..e936b7cc93893061f11ac7338ad7a9ba8f01ae27 100644 (file)
@@ -82,7 +82,6 @@ int                                   /* error */
 xfs_difree(
        struct xfs_trans *tp,           /* transaction pointer */
        xfs_ino_t       inode,          /* inode to be freed */
-       struct xfs_defer_ops *dfops,    /* extents to free */
        struct xfs_icluster *ifree);    /* cluster info if deleted */
 
 /*