From: "Darrick J. Wong" <djwong@kernel.org>
To: Christoph Hellwig <hch@lst.de>
Cc: Andrey Albershteyn <aalbersh@kernel.org>,
Eric Sandeen <sandeen@redhat.com>,
Carlos Maiolino <cem@kernel.org>,
linux-xfs@vger.kernel.org
Subject: Re: [PATCH 10/13] libxfs: use xfs_buf_item.h and xfs_inode_item.h from the kernel source
Date: Mon, 5 Oct 2026 14:48:39 -0700 [thread overview]
Message-ID: <20261005214839.GP2705364@frogsfrogsfrogs> (raw)
In-Reply-To: <20261005125637.1340355-11-hch@lst.de>
On Mon, Oct 05, 2026 at 02:56:20PM +0200, Christoph Hellwig wrote:
> Replace the partial copy and paste in xfs_trans.h with full copies of
> the kernel versions.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
Much less hacky/nicer now! :)
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
> ---
> libxfs/Makefile | 2 ++
> libxfs/buf_mem.c | 1 +
> libxfs/init.c | 2 ++
> libxfs/inode.c | 1 +
> libxfs/logitem.c | 4 ++-
> libxfs/stubs/xfs_trans.h | 24 -------------
> libxfs/trans.c | 6 ++--
> libxfs/xfs_alloc.c | 1 +
> libxfs/xfs_attr_leaf.c | 1 +
> libxfs/xfs_bmap.c | 1 +
> libxfs/xfs_btree.c | 1 +
> libxfs/xfs_btree_mem.c | 1 +
> libxfs/xfs_buf_item.h | 71 +++++++++++++++++++++++++++++++++++++
> libxfs/xfs_da_btree.c | 1 +
> libxfs/xfs_defer.c | 2 ++
> libxfs/xfs_dir2_block.c | 1 +
> libxfs/xfs_dir2_data.c | 1 +
> libxfs/xfs_dir2_leaf.c | 1 +
> libxfs/xfs_dir2_node.c | 1 +
> libxfs/xfs_ialloc.c | 1 +
> libxfs/xfs_inode_fork.c | 1 +
> libxfs/xfs_inode_item.h | 62 ++++++++++++++++++++++++++++++++
> libxfs/xfs_inode_util.c | 2 ++
> libxfs/xfs_platform.h | 7 ----
> libxfs/xfs_rtbitmap.c | 1 +
> libxfs/xfs_rtgroup.c | 1 +
> libxfs/xfs_sb.c | 1 +
> libxfs/xfs_symlink_remote.c | 1 +
> libxfs/xfs_trans_inode.c | 2 +-
> 29 files changed, 167 insertions(+), 35 deletions(-)
> create mode 100644 libxfs/xfs_buf_item.h
> create mode 100644 libxfs/xfs_inode_item.h
>
> diff --git a/libxfs/Makefile b/libxfs/Makefile
> index 9795982b0e83..722e99168f63 100644
> --- a/libxfs/Makefile
> +++ b/libxfs/Makefile
> @@ -37,6 +37,7 @@ HFILES = \
> xfs_attr_leaf.h \
> xfs_attr_sf.h \
> xfs_bit.h \
> + xfs_buf_item.h \
> xfs_bmap.h \
> xfs_bmap_btree.h \
> xfs_btree.h \
> @@ -53,6 +54,7 @@ HFILES = \
> xfs_ialloc_btree.h \
> xfs_inode_buf.h \
> xfs_inode_fork.h \
> + xfs_inode_item.h \
> xfs_inode_util.h \
> xfs_log_recover.h \
> xfs_metadir.h \
> diff --git a/libxfs/buf_mem.c b/libxfs/buf_mem.c
> index 3c8452de9689..cb7e55129d18 100644
> --- a/libxfs/buf_mem.c
> +++ b/libxfs/buf_mem.c
> @@ -6,6 +6,7 @@
> #include "xfs_platform.h"
> #include "libxfs.h"
> #include "xfs_buf_mem.h"
> +#include "xfs_buf_item.h"
> #include <sys/mman.h>
> #include <sys/types.h>
> #include <sys/wait.h>
> diff --git a/libxfs/init.c b/libxfs/init.c
> index b89c9fe360d4..5f0b7dd6a9f2 100644
> --- a/libxfs/init.c
> +++ b/libxfs/init.c
> @@ -19,6 +19,8 @@
> #include "xfs_inode_fork.h"
> #include "xfs_inode.h"
> #include "xfs_trans.h"
> +#include "xfs_inode_item.h"
> +#include "xfs_buf_item.h"
> #include "xfs_rmap_btree.h"
> #include "xfs_refcount_btree.h"
> #include "xfs_metafile.h"
> diff --git a/libxfs/inode.c b/libxfs/inode.c
> index b6838d3d4bd3..482b2d4b55bb 100644
> --- a/libxfs/inode.c
> +++ b/libxfs/inode.c
> @@ -19,6 +19,7 @@
> #include "xfs_inode_fork.h"
> #include "xfs_inode.h"
> #include "xfs_trans.h"
> +#include "xfs_inode_item.h"
> #include "xfs_bmap.h"
> #include "xfs_bmap_btree.h"
> #include "xfs_trans_space.h"
> diff --git a/libxfs/logitem.c b/libxfs/logitem.c
> index 2e050ad92a1e..432dccbe5649 100644
> --- a/libxfs/logitem.c
> +++ b/libxfs/logitem.c
> @@ -11,10 +11,12 @@
> #include "xfs_log_format.h"
> #include "xfs_trans_resv.h"
> #include "xfs_mount.h"
> +#include "xfs_trans.h"
> #include "xfs_inode_buf.h"
> #include "xfs_inode_fork.h"
> #include "xfs_inode.h"
> -#include "xfs_trans.h"
> +#include "xfs_inode_item.h"
> +#include "xfs_buf_item.h"
> #include "xfs_rtbitmap.h"
> #include "xfs_ag.h"
>
> diff --git a/libxfs/stubs/xfs_trans.h b/libxfs/stubs/xfs_trans.h
> index 9e8737f09d8e..aa4de91b43a9 100644
> --- a/libxfs/stubs/xfs_trans.h
> +++ b/libxfs/stubs/xfs_trans.h
> @@ -33,30 +33,6 @@ struct xfs_log_item {
>
> #define XFS_LI_DIRTY 3 /* log item dirty in transaction */
>
> -struct xfs_inode_log_item {
> - struct xfs_log_item ili_item; /* common portion */
> - struct xfs_inode *ili_inode; /* inode pointer */
> - unsigned short ili_lock_flags; /* lock flags */
> - unsigned int ili_dirty_flags; /* dirty in current tx */
> - unsigned int ili_last_fields; /* fields when flushed*/
> - unsigned int ili_fields; /* fields to be logged */
> - spinlock_t ili_lock;
> -};
> -
> - struct xfs_buf_log_item {
> - struct xfs_log_item bli_item; /* common item structure */
> - struct xfs_buf *bli_buf; /* real buffer pointer */
> - unsigned int bli_flags; /* misc flags */
> - unsigned int bli_recur; /* recursion count */
> - struct xfs_buf_log_format __bli_format; /* in-log header */
> -};
> -
> -#define XFS_BLI_DIRTY (1<<0)
> -#define XFS_BLI_HOLD (1<<1)
> -#define XFS_BLI_STALE (1<<2)
> -#define XFS_BLI_INODE_ALLOC_BUF (1<<3)
> -#define XFS_BLI_ORDERED (1<<4)
> -
> typedef struct xfs_trans {
> unsigned int t_log_res; /* amt of log space resvd */
> unsigned int t_log_count; /* count for perm log res */
> diff --git a/libxfs/trans.c b/libxfs/trans.c
> index f36c54b9c806..77a2a574809e 100644
> --- a/libxfs/trans.c
> +++ b/libxfs/trans.c
> @@ -12,10 +12,12 @@
> #include "xfs_log_format.h"
> #include "xfs_trans_resv.h"
> #include "xfs_mount.h"
> +#include "xfs_trans.h"
> #include "xfs_inode_buf.h"
> #include "xfs_inode_fork.h"
> #include "xfs_inode.h"
> -#include "xfs_trans.h"
> +#include "xfs_inode_item.h"
> +#include "xfs_buf_item.h"
> #include "xfs_sb.h"
> #include "xfs_defer.h"
> #include "xfs_trace.h"
> @@ -339,7 +341,7 @@ libxfs_trans_cancel(
> xfs_trans_free(tp);
> }
>
> -static void
> +void
> xfs_buf_item_put(
> struct xfs_buf_log_item *bip)
> {
> diff --git a/libxfs/xfs_alloc.c b/libxfs/xfs_alloc.c
> index 4cad09d8be61..13ec03c3b45a 100644
> --- a/libxfs/xfs_alloc.c
> +++ b/libxfs/xfs_alloc.c
> @@ -21,6 +21,7 @@
> #include "xfs_error.h"
> #include "xfs_trace.h"
> #include "xfs_trans.h"
> +#include "xfs_buf_item.h"
> #include "xfs_ag.h"
> #include "xfs_ag_resv.h"
> #include "xfs_bmap.h"
> diff --git a/libxfs/xfs_attr_leaf.c b/libxfs/xfs_attr_leaf.c
> index 0ac2ae28efa6..240864676aec 100644
> --- a/libxfs/xfs_attr_leaf.c
> +++ b/libxfs/xfs_attr_leaf.c
> @@ -24,6 +24,7 @@
> #include "xfs_attr_leaf.h"
> #include "xfs_error.h"
> #include "xfs_trace.h"
> +#include "xfs_buf_item.h"
> #include "xfs_dir2.h"
> #include "xfs_ag.h"
> #include "xfs_errortag.h"
> diff --git a/libxfs/xfs_bmap.c b/libxfs/xfs_bmap.c
> index cfce4358e2bf..18308d65f92d 100644
> --- a/libxfs/xfs_bmap.c
> +++ b/libxfs/xfs_bmap.c
> @@ -25,6 +25,7 @@
> #include "xfs_error.h"
> #include "xfs_quota.h"
> #include "xfs_trans_space.h"
> +#include "xfs_buf_item.h"
> #include "xfs_trace.h"
> #include "xfs_attr_leaf.h"
> #include "xfs_rmap.h"
> diff --git a/libxfs/xfs_btree.c b/libxfs/xfs_btree.c
> index 425fbefc31ad..9fcb6c349523 100644
> --- a/libxfs/xfs_btree.c
> +++ b/libxfs/xfs_btree.c
> @@ -13,6 +13,7 @@
> #include "xfs_mount.h"
> #include "xfs_inode.h"
> #include "xfs_trans.h"
> +#include "xfs_buf_item.h"
> #include "xfs_btree.h"
> #include "xfs_errortag.h"
> #include "xfs_error.h"
> diff --git a/libxfs/xfs_btree_mem.c b/libxfs/xfs_btree_mem.c
> index c2fa836a2ae2..37136a70e56d 100644
> --- a/libxfs/xfs_btree_mem.c
> +++ b/libxfs/xfs_btree_mem.c
> @@ -16,6 +16,7 @@
> #include "xfs_buf_mem.h"
> #include "xfs_btree_mem.h"
> #include "xfs_ag.h"
> +#include "xfs_buf_item.h"
> #include "xfs_trace.h"
> #include "xfs_rtgroup.h"
>
> diff --git a/libxfs/xfs_buf_item.h b/libxfs/xfs_buf_item.h
> new file mode 100644
> index 000000000000..3159325dd17b
> --- /dev/null
> +++ b/libxfs/xfs_buf_item.h
> @@ -0,0 +1,71 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2000-2001,2005 Silicon Graphics, Inc.
> + * All Rights Reserved.
> + */
> +#ifndef __XFS_BUF_ITEM_H__
> +#define __XFS_BUF_ITEM_H__
> +
> +/* kernel only definitions */
> +
> +struct xfs_buf;
> +struct xfs_mount;
> +
> +/* buf log item flags */
> +#define XFS_BLI_HOLD (1u << 0)
> +#define XFS_BLI_DIRTY (1u << 1)
> +#define XFS_BLI_STALE (1u << 2)
> +#define XFS_BLI_LOGGED (1u << 3)
> +#define XFS_BLI_INODE_ALLOC_BUF (1u << 4)
> +#define XFS_BLI_STALE_INODE (1u << 5)
> +#define XFS_BLI_INODE_BUF (1u << 6)
> +#define XFS_BLI_ORDERED (1u << 7)
> +
> +#define XFS_BLI_FLAGS \
> + { XFS_BLI_HOLD, "HOLD" }, \
> + { XFS_BLI_DIRTY, "DIRTY" }, \
> + { XFS_BLI_STALE, "STALE" }, \
> + { XFS_BLI_LOGGED, "LOGGED" }, \
> + { XFS_BLI_INODE_ALLOC_BUF, "INODE_ALLOC" }, \
> + { XFS_BLI_STALE_INODE, "STALE_INODE" }, \
> + { XFS_BLI_INODE_BUF, "INODE_BUF" }, \
> + { XFS_BLI_ORDERED, "ORDERED" }
> +
> +/*
> + * This is the in core log item structure used to track information
> + * needed to log buffers. It tracks how many times the lock has been
> + * locked, and which 128 byte chunks of the buffer are dirty.
> + */
> +struct xfs_buf_log_item {
> + struct xfs_log_item bli_item; /* common item structure */
> + struct xfs_buf *bli_buf; /* real buffer pointer */
> + unsigned int bli_flags; /* misc flags */
> + unsigned int bli_recur; /* lock recursion count */
> + atomic_t bli_refcount; /* cnt of tp refs */
> + int bli_format_count; /* count of headers */
> + struct xfs_buf_log_format *bli_formats; /* array of in-log header ptrs */
> + struct xfs_buf_log_format __bli_format; /* embedded in-log header */
> +};
> +
> +int xfs_buf_item_init(struct xfs_buf *, struct xfs_mount *);
> +void xfs_buf_item_done(struct xfs_buf *bp);
> +void xfs_buf_item_put(struct xfs_buf_log_item *bip);
> +void xfs_buf_item_log(struct xfs_buf_log_item *, uint, uint);
> +bool xfs_buf_item_dirty_format(struct xfs_buf_log_item *);
> +void xfs_buf_inode_iodone(struct xfs_buf *);
> +#ifdef CONFIG_XFS_QUOTA
> +void xfs_buf_dquot_iodone(struct xfs_buf *);
> +#else
> +static inline void xfs_buf_dquot_iodone(struct xfs_buf *bp)
> +{
> +}
> +#endif /* CONFIG_XFS_QUOTA */
> +void xfs_buf_iodone(struct xfs_buf *);
> +bool xfs_buf_log_check_iovec(struct kvec *iovec);
> +
> +unsigned int xfs_buf_inval_log_space(unsigned int map_count,
> + unsigned int blocksize);
> +
> +extern struct kmem_cache *xfs_buf_item_cache;
> +
> +#endif /* __XFS_BUF_ITEM_H__ */
> diff --git a/libxfs/xfs_da_btree.c b/libxfs/xfs_da_btree.c
> index 9f25f1658b07..a3a3a1aa4c57 100644
> --- a/libxfs/xfs_da_btree.c
> +++ b/libxfs/xfs_da_btree.c
> @@ -20,6 +20,7 @@
> #include "xfs_attr_leaf.h"
> #include "xfs_error.h"
> #include "xfs_trace.h"
> +#include "xfs_buf_item.h"
> #include "xfs_errortag.h"
> #include "xfs_health.h"
>
> diff --git a/libxfs/xfs_defer.c b/libxfs/xfs_defer.c
> index eae2397fbff8..28e8dcf14475 100644
> --- a/libxfs/xfs_defer.c
> +++ b/libxfs/xfs_defer.c
> @@ -12,7 +12,9 @@
> #include "xfs_mount.h"
> #include "xfs_defer.h"
> #include "xfs_trans.h"
> +#include "xfs_buf_item.h"
> #include "xfs_inode.h"
> +#include "xfs_inode_item.h"
> #include "xfs_trace.h"
> #include "xfs_rmap.h"
> #include "xfs_refcount.h"
> diff --git a/libxfs/xfs_dir2_block.c b/libxfs/xfs_dir2_block.c
> index 0e9dd19eafae..54cb8b645c9c 100644
> --- a/libxfs/xfs_dir2_block.c
> +++ b/libxfs/xfs_dir2_block.c
> @@ -14,6 +14,7 @@
> #include "xfs_inode.h"
> #include "xfs_trans.h"
> #include "xfs_bmap.h"
> +#include "xfs_buf_item.h"
> #include "xfs_dir2.h"
> #include "xfs_dir2_priv.h"
> #include "xfs_error.h"
> diff --git a/libxfs/xfs_dir2_data.c b/libxfs/xfs_dir2_data.c
> index 0fafe7826ec9..23625d647da4 100644
> --- a/libxfs/xfs_dir2_data.c
> +++ b/libxfs/xfs_dir2_data.c
> @@ -16,6 +16,7 @@
> #include "xfs_dir2_priv.h"
> #include "xfs_error.h"
> #include "xfs_trans.h"
> +#include "xfs_buf_item.h"
> #include "xfs_health.h"
>
> static xfs_failaddr_t xfs_dir2_data_freefind_verify(
> diff --git a/libxfs/xfs_dir2_leaf.c b/libxfs/xfs_dir2_leaf.c
> index ea8ab6d46c6c..bc909543eb74 100644
> --- a/libxfs/xfs_dir2_leaf.c
> +++ b/libxfs/xfs_dir2_leaf.c
> @@ -18,6 +18,7 @@
> #include "xfs_error.h"
> #include "xfs_trace.h"
> #include "xfs_trans.h"
> +#include "xfs_buf_item.h"
> #include "xfs_health.h"
>
> /*
> diff --git a/libxfs/xfs_dir2_node.c b/libxfs/xfs_dir2_node.c
> index a0aaa21b12cf..7641cbdb8e10 100644
> --- a/libxfs/xfs_dir2_node.c
> +++ b/libxfs/xfs_dir2_node.c
> @@ -18,6 +18,7 @@
> #include "xfs_error.h"
> #include "xfs_trace.h"
> #include "xfs_trans.h"
> +#include "xfs_buf_item.h"
> #include "xfs_health.h"
>
> /*
> diff --git a/libxfs/xfs_ialloc.c b/libxfs/xfs_ialloc.c
> index aa895c0decbc..07f6c0094281 100644
> --- a/libxfs/xfs_ialloc.c
> +++ b/libxfs/xfs_ialloc.c
> @@ -20,6 +20,7 @@
> #include "xfs_error.h"
> #include "xfs_bmap.h"
> #include "xfs_trans.h"
> +#include "xfs_buf_item.h"
> #include "xfs_trace.h"
> #include "xfs_rmap.h"
> #include "xfs_ag.h"
> diff --git a/libxfs/xfs_inode_fork.c b/libxfs/xfs_inode_fork.c
> index df89ae420617..606a36526ce2 100644
> --- a/libxfs/xfs_inode_fork.c
> +++ b/libxfs/xfs_inode_fork.c
> @@ -13,6 +13,7 @@
> #include "xfs_mount.h"
> #include "xfs_inode.h"
> #include "xfs_trans.h"
> +#include "xfs_inode_item.h"
> #include "xfs_btree.h"
> #include "xfs_bmap_btree.h"
> #include "xfs_bmap.h"
> diff --git a/libxfs/xfs_inode_item.h b/libxfs/xfs_inode_item.h
> new file mode 100644
> index 000000000000..2ddcca41714f
> --- /dev/null
> +++ b/libxfs/xfs_inode_item.h
> @@ -0,0 +1,62 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2000,2005 Silicon Graphics, Inc.
> + * All Rights Reserved.
> + */
> +#ifndef __XFS_INODE_ITEM_H__
> +#define __XFS_INODE_ITEM_H__
> +
> +/* kernel only definitions */
> +
> +struct xfs_buf;
> +struct xfs_bmbt_rec;
> +struct xfs_inode;
> +struct xfs_mount;
> +
> +struct xfs_inode_log_item {
> + struct xfs_log_item ili_item; /* common portion */
> + struct xfs_inode *ili_inode; /* inode ptr */
> + unsigned short ili_lock_flags; /* inode lock flags */
> + unsigned int ili_dirty_flags; /* dirty in current tx */
> + /*
> + * The ili_lock protects the interactions between the dirty state and
> + * the flush state of the inode log item. This allows us to do atomic
> + * modifications of multiple state fields without having to hold a
> + * specific inode lock to serialise them.
> + *
> + * We need atomic changes between inode dirtying, inode flushing and
> + * inode completion, but these all hold different combinations of
> + * ILOCK and IFLUSHING and hence we need some other method of
> + * serialising updates to the flush state.
> + */
> + spinlock_t ili_lock; /* flush state lock */
> + unsigned int ili_last_fields; /* fields when flushed */
> + unsigned int ili_fields; /* fields to be logged */
> + xfs_lsn_t ili_flush_lsn; /* lsn at last flush */
> +
> + /*
> + * We record the sequence number for every inode modification, as
> + * well as those that only require fdatasync operations for data
> + * integrity. This allows optimisation of the O_DSYNC/fdatasync path
> + * without needing to track what modifications the journal is currently
> + * carrying for the inode. These are protected by the above ili_lock.
> + */
> + xfs_csn_t ili_commit_seq; /* last transaction commit */
> + xfs_csn_t ili_datasync_seq; /* for datasync optimisation */
> +};
> +
> +static inline int xfs_inode_clean(struct xfs_inode *ip)
> +{
> + return !ip->i_itemp || !(ip->i_itemp->ili_fields & XFS_ILOG_ALL);
> +}
> +
> +extern void xfs_inode_item_init(struct xfs_inode *, struct xfs_mount *);
> +extern void xfs_inode_item_destroy(struct xfs_inode *);
> +extern void xfs_iflush_abort(struct xfs_inode *);
> +extern void xfs_iflush_shutdown_abort(struct xfs_inode *);
> +int xfs_inode_item_format_convert(struct kvec *buf,
> + struct xfs_inode_log_format *in_f);
> +
> +extern struct kmem_cache *xfs_ili_cache;
> +
> +#endif /* __XFS_INODE_ITEM_H__ */
> diff --git a/libxfs/xfs_inode_util.c b/libxfs/xfs_inode_util.c
> index 9de455088568..b4f556df64ed 100644
> --- a/libxfs/xfs_inode_util.c
> +++ b/libxfs/xfs_inode_util.c
> @@ -20,7 +20,9 @@
> #include "xfs_error.h"
> #include "xfs_trace.h"
> #include "xfs_ag.h"
> +#include "xfs_inode_item.h"
> #include "iunlink.h"
> +#include "xfs_inode_item.h"
>
> uint16_t
> xfs_flags2diflags(
> diff --git a/libxfs/xfs_platform.h b/libxfs/xfs_platform.h
> index 2e3d323505c5..4a899dcc6461 100644
> --- a/libxfs/xfs_platform.h
> +++ b/libxfs/xfs_platform.h
> @@ -404,13 +404,6 @@ int xfs_trans_roll(struct xfs_trans **);
> void xfs_trans_add_item(struct xfs_trans *, struct xfs_log_item *);
> void xfs_trans_del_item(struct xfs_log_item *);
>
> -/* xfs_inode_item.c */
> -void xfs_inode_item_init(struct xfs_inode *, struct xfs_mount *);
> -
> -/* xfs_buf_item.c */
> -int xfs_buf_item_init(struct xfs_buf *, struct xfs_mount *);
> -void xfs_buf_item_log(struct xfs_buf_log_item *, uint, uint);
> -
> /* xfs_trans_buf.c */
> struct xfs_buf *xfs_trans_buf_item_match(struct xfs_trans *,
> struct xfs_buftarg *, struct xfs_buf_map *, int);
> diff --git a/libxfs/xfs_rtbitmap.c b/libxfs/xfs_rtbitmap.c
> index 6a0fc1032753..d4b90548718c 100644
> --- a/libxfs/xfs_rtbitmap.c
> +++ b/libxfs/xfs_rtbitmap.c
> @@ -21,6 +21,7 @@
> #include "xfs_health.h"
> #include "xfs_sb.h"
> #include "xfs_errortag.h"
> +#include "xfs_buf_item.h"
> #include "xfs_extent_busy.h"
>
> /*
> diff --git a/libxfs/xfs_rtgroup.c b/libxfs/xfs_rtgroup.c
> index c1f8d2cb186a..2bbe651b773a 100644
> --- a/libxfs/xfs_rtgroup.c
> +++ b/libxfs/xfs_rtgroup.c
> @@ -27,6 +27,7 @@
> #include "xfs_trans.h"
> #include "xfs_trace.h"
> #include "xfs_inode.h"
> +#include "xfs_buf_item.h"
> #include "xfs_rtgroup.h"
> #include "xfs_rtbitmap.h"
> #include "xfs_metafile.h"
> diff --git a/libxfs/xfs_sb.c b/libxfs/xfs_sb.c
> index cccbcd153316..696bafd2cc3e 100644
> --- a/libxfs/xfs_sb.c
> +++ b/libxfs/xfs_sb.c
> @@ -16,6 +16,7 @@
> #include "xfs_alloc.h"
> #include "xfs_error.h"
> #include "xfs_trans.h"
> +#include "xfs_buf_item.h"
> #include "xfs_bmap_btree.h"
> #include "xfs_alloc_btree.h"
> #include "xfs_rmap_btree.h"
> diff --git a/libxfs/xfs_symlink_remote.c b/libxfs/xfs_symlink_remote.c
> index de487b1caa4b..008953d402f6 100644
> --- a/libxfs/xfs_symlink_remote.c
> +++ b/libxfs/xfs_symlink_remote.c
> @@ -14,6 +14,7 @@
> #include "xfs_inode.h"
> #include "xfs_error.h"
> #include "xfs_trans.h"
> +#include "xfs_buf_item.h"
> #include "xfs_symlink_remote.h"
> #include "xfs_bit.h"
> #include "xfs_bmap.h"
> diff --git a/libxfs/xfs_trans_inode.c b/libxfs/xfs_trans_inode.c
> index ef404e7f0f6e..697671007561 100644
> --- a/libxfs/xfs_trans_inode.c
> +++ b/libxfs/xfs_trans_inode.c
> @@ -12,7 +12,7 @@
> #include "xfs_mount.h"
> #include "xfs_inode.h"
> #include "xfs_trans.h"
> -
> +#include "xfs_inode_item.h"
>
> /*
> * Add a locked inode to the transaction.
> --
> 2.53.0
>
>
next prev parent reply other threads:[~2026-10-05 21:48 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-05 12:56 reduce libxfs to kernel differences v2 Christoph Hellwig
2026-10-05 12:56 ` [PATCH 01/13] libxfs: use libxfs.h in xfs_platform.h Christoph Hellwig
2026-10-05 21:44 ` Darrick J. Wong
2026-10-05 12:56 ` [PATCH 02/13] libxfs: provide memalloc_nofs_{save,restore} stubs Christoph Hellwig
2026-10-05 21:45 ` Darrick J. Wong
2026-10-05 12:56 ` [PATCH 03/13] libxfs: remove a spurious xfs_rtbitmap.h include in xfs_sb.c Christoph Hellwig
2026-10-05 21:45 ` Darrick J. Wong
2026-10-05 12:56 ` [PATCH 04/13] libxfs: move the xfs_rtbitmap.h include in xfs_bmap.c Christoph Hellwig
2026-10-06 11:27 ` Andrey Albershteyn
2026-10-05 12:56 ` [PATCH 05/13] libxfs: remove the unused xfs_log_item.li_mountp field Christoph Hellwig
2026-10-05 21:46 ` Darrick J. Wong
2026-10-05 12:56 ` [PATCH 06/13] libxfs: remove the unused xfs_inode_log_item.ili_fsync_fields field Christoph Hellwig
2026-10-05 21:46 ` Darrick J. Wong
2026-10-05 12:56 ` [PATCH 07/13] libxfs: remove the xfs_log_item_t and xfs_buf_log_item_t typedefs Christoph Hellwig
2026-10-05 21:46 ` Darrick J. Wong
2026-10-05 12:56 ` [PATCH 08/13] libxfs: remove libxfs_trans_alloc_rollable Christoph Hellwig
2026-10-05 21:47 ` Darrick J. Wong
2026-10-05 12:56 ` [PATCH 09/13] libxfs: return int from xfs_buf_item_init Christoph Hellwig
2026-10-05 21:48 ` Darrick J. Wong
2026-10-05 12:56 ` [PATCH 10/13] libxfs: use xfs_buf_item.h and xfs_inode_item.h from the kernel source Christoph Hellwig
2026-10-05 21:48 ` Darrick J. Wong [this message]
2026-10-05 12:56 ` [PATCH 11/13] libxfs: cleanup xfs_trans.h Christoph Hellwig
2026-10-05 21:48 ` Darrick J. Wong
2026-10-05 12:56 ` [PATCH 12/13] libxfs: use xfs_trans.h from the kernel source Christoph Hellwig
2026-10-05 21:49 ` Darrick J. Wong
2026-10-07 13:41 ` Christoph Hellwig
2026-10-07 15:18 ` Darrick J. Wong
2026-10-08 10:59 ` Carlos Maiolino
2026-10-05 12:56 ` [PATCH 13/13] libxfs: use all log item headers from the kernel Christoph Hellwig
2026-10-05 21:50 ` Darrick J. Wong
-- strict thread matches above, loose matches on Subject: below --
2026-09-25 15:20 reduce libxfs to kernel differences Christoph Hellwig
2026-09-25 15:20 ` [PATCH 10/13] libxfs: use xfs_buf_item.h and xfs_inode_item.h from the kernel source Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261005214839.GP2705364@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=aalbersh@kernel.org \
--cc=cem@kernel.org \
--cc=hch@lst.de \
--cc=linux-xfs@vger.kernel.org \
--cc=sandeen@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox