]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
xfs: turn io_append_trans into an io_private void pointer
authorChristoph Hellwig <hch@lst.de>
Thu, 17 Oct 2019 20:12:09 +0000 (13:12 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Mon, 21 Oct 2019 15:51:59 +0000 (08:51 -0700)
In preparation for moving the ioend structure to common code we need
to get rid of the xfs-specific xfs_trans type.  Just make it a file
system private void pointer instead.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/xfs_aops.c
fs/xfs/xfs_aops.h

index c29ef69d1e513aff73f3964aced67ba9f349be60..df5955388adce7fecfb9ef1eaa0d28858ce413b7 100644 (file)
@@ -153,7 +153,7 @@ xfs_setfilesize_trans_alloc(
        if (error)
                return error;
 
-       ioend->io_append_trans = tp;
+       ioend->io_private = tp;
 
        /*
         * We may pass freeze protection with a transaction.  So tell lockdep
@@ -220,7 +220,7 @@ xfs_setfilesize_ioend(
        int                     error)
 {
        struct xfs_inode        *ip = XFS_I(ioend->io_inode);
-       struct xfs_trans        *tp = ioend->io_append_trans;
+       struct xfs_trans        *tp = ioend->io_private;
 
        /*
         * The transaction may have been allocated in the I/O submission thread,
@@ -285,10 +285,10 @@ xfs_end_ioend(
        else if (ioend->io_type == IOMAP_UNWRITTEN)
                error = xfs_iomap_write_unwritten(ip, offset, size, false);
        else
-               ASSERT(!xfs_ioend_is_append(ioend) || ioend->io_append_trans);
+               ASSERT(!xfs_ioend_is_append(ioend) || ioend->io_private);
 
 done:
-       if (ioend->io_append_trans)
+       if (ioend->io_private)
                error = xfs_setfilesize_ioend(ioend, error);
        xfs_destroy_ioends(ioend, error);
        memalloc_nofs_restore(nofs_flag);
@@ -321,13 +321,13 @@ xfs_ioend_can_merge(
  * as it is guaranteed to be clean.
  */
 static void
-xfs_ioend_merge_append_transactions(
+xfs_ioend_merge_private(
        struct xfs_ioend        *ioend,
        struct xfs_ioend        *next)
 {
-       if (!ioend->io_append_trans) {
-               ioend->io_append_trans = next->io_append_trans;
-               next->io_append_trans = NULL;
+       if (!ioend->io_private) {
+               ioend->io_private = next->io_private;
+               next->io_private = NULL;
        } else {
                xfs_setfilesize_ioend(next, -ECANCELED);
        }
@@ -349,8 +349,8 @@ xfs_ioend_try_merge(
                        break;
                list_move_tail(&next->io_list, &ioend->io_list);
                ioend->io_size += next->io_size;
-               if (next->io_append_trans)
-                       xfs_ioend_merge_append_transactions(ioend, next);
+               if (next->io_private)
+                       xfs_ioend_merge_private(ioend, next);
        }
 }
 
@@ -415,7 +415,7 @@ xfs_end_bio(
 
        if (ioend->io_fork == XFS_COW_FORK ||
            ioend->io_type == IOMAP_UNWRITTEN ||
-           ioend->io_append_trans != NULL) {
+           ioend->io_private) {
                spin_lock_irqsave(&ip->i_ioend_lock, flags);
                if (list_empty(&ip->i_ioend_list))
                        WARN_ON_ONCE(!queue_work(mp->m_unwritten_workqueue,
@@ -680,7 +680,7 @@ xfs_submit_ioend(
            (ioend->io_fork == XFS_COW_FORK ||
             ioend->io_type != IOMAP_UNWRITTEN) &&
            xfs_ioend_is_append(ioend) &&
-           !ioend->io_append_trans)
+           !ioend->io_private)
                status = xfs_setfilesize_trans_alloc(ioend);
 
        memalloc_nofs_restore(nofs_flag);
@@ -729,7 +729,7 @@ xfs_alloc_ioend(
        ioend->io_inode = inode;
        ioend->io_size = 0;
        ioend->io_offset = offset;
-       ioend->io_append_trans = NULL;
+       ioend->io_private = NULL;
        ioend->io_bio = bio;
        return ioend;
 }
index 4af8ec0115cd7bd6d2c809d8b7d22c0cd54fb44d..6a45d675dcbaf33824302564aa72382bc5e8b1e3 100644 (file)
@@ -18,7 +18,7 @@ struct xfs_ioend {
        struct inode            *io_inode;      /* file being written to */
        size_t                  io_size;        /* size of the extent */
        xfs_off_t               io_offset;      /* offset in the file */
-       struct xfs_trans        *io_append_trans;/* xact. for size update */
+       void                    *io_private;    /* file system private data */
        struct bio              *io_bio;        /* bio being built */
        struct bio              io_inline_bio;  /* MUST BE LAST! */
 };