On Tue, Oct 15, 2019 at 05:43:38PM +0200, Christoph Hellwig wrote:
> 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 <h...@lst.de>

Looks ok,
Reviewed-by: Darrick J. Wong <darrick.w...@oracle.com>

--D

> ---
>  fs/xfs/xfs_aops.c | 26 +++++++++++++-------------
>  fs/xfs/xfs_aops.h |  2 +-
>  2 files changed, 14 insertions(+), 14 deletions(-)
> 
> diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c
> index c29ef69d1e51..df5955388adc 100644
> --- a/fs/xfs/xfs_aops.c
> +++ b/fs/xfs/xfs_aops.c
> @@ -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;
>  }
> diff --git a/fs/xfs/xfs_aops.h b/fs/xfs/xfs_aops.h
> index 4af8ec0115cd..6a45d675dcba 100644
> --- a/fs/xfs/xfs_aops.h
> +++ b/fs/xfs/xfs_aops.h
> @@ -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! */
>  };
> -- 
> 2.20.1
> 

Reply via email to