diff mbox series

[08/29] xfs: move struct xfs_da_args to xfs_types.h

Message ID 20200114081051.297488-9-hch@lst.de (mailing list archive)
State Superseded
Headers show
Series [01/29] xfs: remove the ATTR_INCOMPLETE flag | expand

Commit Message

Christoph Hellwig Jan. 14, 2020, 8:10 a.m. UTC
To allow passing a struct xfs_da_args to the high-level attr helpers
it needs to be easily includable by files like xfs_xattr.c.  Move the
struct definition to xfs_types.h to allow for that.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 fs/xfs/libxfs/xfs_da_btree.h | 64 ------------------------------------
 fs/xfs/libxfs/xfs_types.h    | 60 +++++++++++++++++++++++++++++++++
 2 files changed, 60 insertions(+), 64 deletions(-)

Comments

Darrick J. Wong Jan. 21, 2020, 6:48 p.m. UTC | #1
On Tue, Jan 14, 2020 at 09:10:30AM +0100, Christoph Hellwig wrote:
> To allow passing a struct xfs_da_args to the high-level attr helpers
> it needs to be easily includable by files like xfs_xattr.c.  Move the
> struct definition to xfs_types.h to allow for that.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>

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

--D

> ---
>  fs/xfs/libxfs/xfs_da_btree.h | 64 ------------------------------------
>  fs/xfs/libxfs/xfs_types.h    | 60 +++++++++++++++++++++++++++++++++
>  2 files changed, 60 insertions(+), 64 deletions(-)
> 
> diff --git a/fs/xfs/libxfs/xfs_da_btree.h b/fs/xfs/libxfs/xfs_da_btree.h
> index 0f4fbb0889ff..dd2f48b8ee07 100644
> --- a/fs/xfs/libxfs/xfs_da_btree.h
> +++ b/fs/xfs/libxfs/xfs_da_btree.h
> @@ -36,70 +36,6 @@ struct xfs_da_geometry {
>  	size_t		data_entry_offset;
>  };
>  
> -/*========================================================================
> - * Btree searching and modification structure definitions.
> - *========================================================================*/
> -
> -/*
> - * Search comparison results
> - */
> -enum xfs_dacmp {
> -	XFS_CMP_DIFFERENT,	/* names are completely different */
> -	XFS_CMP_EXACT,		/* names are exactly the same */
> -	XFS_CMP_CASE		/* names are same but differ in case */
> -};
> -
> -/*
> - * Structure to ease passing around component names.
> - */
> -typedef struct xfs_da_args {
> -	struct xfs_da_geometry *geo;	/* da block geometry */
> -	const uint8_t		*name;		/* string (maybe not NULL terminated) */
> -	int		namelen;	/* length of string (maybe no NULL) */
> -	uint8_t		filetype;	/* filetype of inode for directories */
> -	uint8_t		*value;		/* set of bytes (maybe contain NULLs) */
> -	int		valuelen;	/* length of value */
> -	int		flags;		/* argument flags (eg: ATTR_NOCREATE) */
> -	xfs_dahash_t	hashval;	/* hash value of name */
> -	xfs_ino_t	inumber;	/* input/output inode number */
> -	struct xfs_inode *dp;		/* directory inode to manipulate */
> -	struct xfs_trans *trans;	/* current trans (changes over time) */
> -	xfs_extlen_t	total;		/* total blocks needed, for 1st bmap */
> -	int		whichfork;	/* data or attribute fork */
> -	xfs_dablk_t	blkno;		/* blkno of attr leaf of interest */
> -	int		index;		/* index of attr of interest in blk */
> -	xfs_dablk_t	rmtblkno;	/* remote attr value starting blkno */
> -	int		rmtblkcnt;	/* remote attr value block count */
> -	int		rmtvaluelen;	/* remote attr value length in bytes */
> -	xfs_dablk_t	blkno2;		/* blkno of 2nd attr leaf of interest */
> -	int		index2;		/* index of 2nd attr in blk */
> -	xfs_dablk_t	rmtblkno2;	/* remote attr value starting blkno */
> -	int		rmtblkcnt2;	/* remote attr value block count */
> -	int		rmtvaluelen2;	/* remote attr value length in bytes */
> -	int		op_flags;	/* operation flags */
> -	enum xfs_dacmp	cmpresult;	/* name compare result for lookups */
> -} xfs_da_args_t;
> -
> -/*
> - * Operation flags:
> - */
> -#define XFS_DA_OP_JUSTCHECK	0x0001	/* check for ok with no space */
> -#define XFS_DA_OP_RENAME	0x0002	/* this is an atomic rename op */
> -#define XFS_DA_OP_ADDNAME	0x0004	/* this is an add operation */
> -#define XFS_DA_OP_OKNOENT	0x0008	/* lookup/add op, ENOENT ok, else die */
> -#define XFS_DA_OP_CILOOKUP	0x0010	/* lookup to return CI name if found */
> -#define XFS_DA_OP_ALLOCVAL	0x0020	/* lookup to alloc buffer if found  */
> -#define XFS_DA_OP_INCOMPLETE	0x0040	/* lookup INCOMPLETE attr keys */
> -
> -#define XFS_DA_OP_FLAGS \
> -	{ XFS_DA_OP_JUSTCHECK,	"JUSTCHECK" }, \
> -	{ XFS_DA_OP_RENAME,	"RENAME" }, \
> -	{ XFS_DA_OP_ADDNAME,	"ADDNAME" }, \
> -	{ XFS_DA_OP_OKNOENT,	"OKNOENT" }, \
> -	{ XFS_DA_OP_CILOOKUP,	"CILOOKUP" }, \
> -	{ XFS_DA_OP_ALLOCVAL,	"ALLOCVAL" }, \
> -	{ XFS_DA_OP_INCOMPLETE,	"INCOMPLETE" }
> -
>  /*
>   * Storage for holding state during Btree searches and split/join ops.
>   *
> diff --git a/fs/xfs/libxfs/xfs_types.h b/fs/xfs/libxfs/xfs_types.h
> index 397d94775440..e2711d119665 100644
> --- a/fs/xfs/libxfs/xfs_types.h
> +++ b/fs/xfs/libxfs/xfs_types.h
> @@ -175,6 +175,66 @@ enum xfs_ag_resv_type {
>  	XFS_AG_RESV_RMAPBT,
>  };
>  
> +/*
> + * Dir/attr btree search comparison results.
> + */
> +enum xfs_dacmp {
> +	XFS_CMP_DIFFERENT,	/* names are completely different */
> +	XFS_CMP_EXACT,		/* names are exactly the same */
> +	XFS_CMP_CASE		/* names are same but differ in case */
> +};
> +
> +/*
> + * Structure to ease passing around dir/attr component names.
> + */
> +typedef struct xfs_da_args {
> +	struct xfs_da_geometry *geo;	/* da block geometry */
> +	const uint8_t	*name;		/* string (maybe not NULL terminated) */
> +	int		namelen;	/* length of string (maybe no NULL) */
> +	uint8_t		filetype;	/* filetype of inode for directories */
> +	uint8_t		*value;		/* set of bytes (maybe contain NULLs) */
> +	int		valuelen;	/* length of value */
> +	int		flags;		/* argument flags (eg: ATTR_NOCREATE) */
> +	xfs_dahash_t	hashval;	/* hash value of name */
> +	xfs_ino_t	inumber;	/* input/output inode number */
> +	struct xfs_inode *dp;		/* directory inode to manipulate */
> +	struct xfs_trans *trans;	/* current trans (changes over time) */
> +	xfs_extlen_t	total;		/* total blocks needed, for 1st bmap */
> +	int		whichfork;	/* data or attribute fork */
> +	xfs_dablk_t	blkno;		/* blkno of attr leaf of interest */
> +	int		index;		/* index of attr of interest in blk */
> +	xfs_dablk_t	rmtblkno;	/* remote attr value starting blkno */
> +	int		rmtblkcnt;	/* remote attr value block count */
> +	int		rmtvaluelen;	/* remote attr value length in bytes */
> +	xfs_dablk_t	blkno2;		/* blkno of 2nd attr leaf of interest */
> +	int		index2;		/* index of 2nd attr in blk */
> +	xfs_dablk_t	rmtblkno2;	/* remote attr value starting blkno */
> +	int		rmtblkcnt2;	/* remote attr value block count */
> +	int		rmtvaluelen2;	/* remote attr value length in bytes */
> +	int		op_flags;	/* operation flags */
> +	enum xfs_dacmp	cmpresult;	/* name compare result for lookups */
> +} xfs_da_args_t;
> +
> +/*
> + * Operation flags:
> + */
> +#define XFS_DA_OP_JUSTCHECK	0x0001	/* check for ok with no space */
> +#define XFS_DA_OP_RENAME	0x0002	/* this is an atomic rename op */
> +#define XFS_DA_OP_ADDNAME	0x0004	/* this is an add operation */
> +#define XFS_DA_OP_OKNOENT	0x0008	/* lookup/add op, ENOENT ok, else die */
> +#define XFS_DA_OP_CILOOKUP	0x0010	/* lookup to return CI name if found */
> +#define XFS_DA_OP_ALLOCVAL	0x0020	/* lookup to alloc buffer if found  */
> +#define XFS_DA_OP_INCOMPLETE	0x0040	/* lookup INCOMPLETE attr keys */
> +
> +#define XFS_DA_OP_FLAGS \
> +	{ XFS_DA_OP_JUSTCHECK,	"JUSTCHECK" }, \
> +	{ XFS_DA_OP_RENAME,	"RENAME" }, \
> +	{ XFS_DA_OP_ADDNAME,	"ADDNAME" }, \
> +	{ XFS_DA_OP_OKNOENT,	"OKNOENT" }, \
> +	{ XFS_DA_OP_CILOOKUP,	"CILOOKUP" }, \
> +	{ XFS_DA_OP_ALLOCVAL,	"ALLOCVAL" }, \
> +	{ XFS_DA_OP_INCOMPLETE,	"INCOMPLETE" }
> +
>  /*
>   * Type verifier functions
>   */
> -- 
> 2.24.1
>
diff mbox series

Patch

diff --git a/fs/xfs/libxfs/xfs_da_btree.h b/fs/xfs/libxfs/xfs_da_btree.h
index 0f4fbb0889ff..dd2f48b8ee07 100644
--- a/fs/xfs/libxfs/xfs_da_btree.h
+++ b/fs/xfs/libxfs/xfs_da_btree.h
@@ -36,70 +36,6 @@  struct xfs_da_geometry {
 	size_t		data_entry_offset;
 };
 
-/*========================================================================
- * Btree searching and modification structure definitions.
- *========================================================================*/
-
-/*
- * Search comparison results
- */
-enum xfs_dacmp {
-	XFS_CMP_DIFFERENT,	/* names are completely different */
-	XFS_CMP_EXACT,		/* names are exactly the same */
-	XFS_CMP_CASE		/* names are same but differ in case */
-};
-
-/*
- * Structure to ease passing around component names.
- */
-typedef struct xfs_da_args {
-	struct xfs_da_geometry *geo;	/* da block geometry */
-	const uint8_t		*name;		/* string (maybe not NULL terminated) */
-	int		namelen;	/* length of string (maybe no NULL) */
-	uint8_t		filetype;	/* filetype of inode for directories */
-	uint8_t		*value;		/* set of bytes (maybe contain NULLs) */
-	int		valuelen;	/* length of value */
-	int		flags;		/* argument flags (eg: ATTR_NOCREATE) */
-	xfs_dahash_t	hashval;	/* hash value of name */
-	xfs_ino_t	inumber;	/* input/output inode number */
-	struct xfs_inode *dp;		/* directory inode to manipulate */
-	struct xfs_trans *trans;	/* current trans (changes over time) */
-	xfs_extlen_t	total;		/* total blocks needed, for 1st bmap */
-	int		whichfork;	/* data or attribute fork */
-	xfs_dablk_t	blkno;		/* blkno of attr leaf of interest */
-	int		index;		/* index of attr of interest in blk */
-	xfs_dablk_t	rmtblkno;	/* remote attr value starting blkno */
-	int		rmtblkcnt;	/* remote attr value block count */
-	int		rmtvaluelen;	/* remote attr value length in bytes */
-	xfs_dablk_t	blkno2;		/* blkno of 2nd attr leaf of interest */
-	int		index2;		/* index of 2nd attr in blk */
-	xfs_dablk_t	rmtblkno2;	/* remote attr value starting blkno */
-	int		rmtblkcnt2;	/* remote attr value block count */
-	int		rmtvaluelen2;	/* remote attr value length in bytes */
-	int		op_flags;	/* operation flags */
-	enum xfs_dacmp	cmpresult;	/* name compare result for lookups */
-} xfs_da_args_t;
-
-/*
- * Operation flags:
- */
-#define XFS_DA_OP_JUSTCHECK	0x0001	/* check for ok with no space */
-#define XFS_DA_OP_RENAME	0x0002	/* this is an atomic rename op */
-#define XFS_DA_OP_ADDNAME	0x0004	/* this is an add operation */
-#define XFS_DA_OP_OKNOENT	0x0008	/* lookup/add op, ENOENT ok, else die */
-#define XFS_DA_OP_CILOOKUP	0x0010	/* lookup to return CI name if found */
-#define XFS_DA_OP_ALLOCVAL	0x0020	/* lookup to alloc buffer if found  */
-#define XFS_DA_OP_INCOMPLETE	0x0040	/* lookup INCOMPLETE attr keys */
-
-#define XFS_DA_OP_FLAGS \
-	{ XFS_DA_OP_JUSTCHECK,	"JUSTCHECK" }, \
-	{ XFS_DA_OP_RENAME,	"RENAME" }, \
-	{ XFS_DA_OP_ADDNAME,	"ADDNAME" }, \
-	{ XFS_DA_OP_OKNOENT,	"OKNOENT" }, \
-	{ XFS_DA_OP_CILOOKUP,	"CILOOKUP" }, \
-	{ XFS_DA_OP_ALLOCVAL,	"ALLOCVAL" }, \
-	{ XFS_DA_OP_INCOMPLETE,	"INCOMPLETE" }
-
 /*
  * Storage for holding state during Btree searches and split/join ops.
  *
diff --git a/fs/xfs/libxfs/xfs_types.h b/fs/xfs/libxfs/xfs_types.h
index 397d94775440..e2711d119665 100644
--- a/fs/xfs/libxfs/xfs_types.h
+++ b/fs/xfs/libxfs/xfs_types.h
@@ -175,6 +175,66 @@  enum xfs_ag_resv_type {
 	XFS_AG_RESV_RMAPBT,
 };
 
+/*
+ * Dir/attr btree search comparison results.
+ */
+enum xfs_dacmp {
+	XFS_CMP_DIFFERENT,	/* names are completely different */
+	XFS_CMP_EXACT,		/* names are exactly the same */
+	XFS_CMP_CASE		/* names are same but differ in case */
+};
+
+/*
+ * Structure to ease passing around dir/attr component names.
+ */
+typedef struct xfs_da_args {
+	struct xfs_da_geometry *geo;	/* da block geometry */
+	const uint8_t	*name;		/* string (maybe not NULL terminated) */
+	int		namelen;	/* length of string (maybe no NULL) */
+	uint8_t		filetype;	/* filetype of inode for directories */
+	uint8_t		*value;		/* set of bytes (maybe contain NULLs) */
+	int		valuelen;	/* length of value */
+	int		flags;		/* argument flags (eg: ATTR_NOCREATE) */
+	xfs_dahash_t	hashval;	/* hash value of name */
+	xfs_ino_t	inumber;	/* input/output inode number */
+	struct xfs_inode *dp;		/* directory inode to manipulate */
+	struct xfs_trans *trans;	/* current trans (changes over time) */
+	xfs_extlen_t	total;		/* total blocks needed, for 1st bmap */
+	int		whichfork;	/* data or attribute fork */
+	xfs_dablk_t	blkno;		/* blkno of attr leaf of interest */
+	int		index;		/* index of attr of interest in blk */
+	xfs_dablk_t	rmtblkno;	/* remote attr value starting blkno */
+	int		rmtblkcnt;	/* remote attr value block count */
+	int		rmtvaluelen;	/* remote attr value length in bytes */
+	xfs_dablk_t	blkno2;		/* blkno of 2nd attr leaf of interest */
+	int		index2;		/* index of 2nd attr in blk */
+	xfs_dablk_t	rmtblkno2;	/* remote attr value starting blkno */
+	int		rmtblkcnt2;	/* remote attr value block count */
+	int		rmtvaluelen2;	/* remote attr value length in bytes */
+	int		op_flags;	/* operation flags */
+	enum xfs_dacmp	cmpresult;	/* name compare result for lookups */
+} xfs_da_args_t;
+
+/*
+ * Operation flags:
+ */
+#define XFS_DA_OP_JUSTCHECK	0x0001	/* check for ok with no space */
+#define XFS_DA_OP_RENAME	0x0002	/* this is an atomic rename op */
+#define XFS_DA_OP_ADDNAME	0x0004	/* this is an add operation */
+#define XFS_DA_OP_OKNOENT	0x0008	/* lookup/add op, ENOENT ok, else die */
+#define XFS_DA_OP_CILOOKUP	0x0010	/* lookup to return CI name if found */
+#define XFS_DA_OP_ALLOCVAL	0x0020	/* lookup to alloc buffer if found  */
+#define XFS_DA_OP_INCOMPLETE	0x0040	/* lookup INCOMPLETE attr keys */
+
+#define XFS_DA_OP_FLAGS \
+	{ XFS_DA_OP_JUSTCHECK,	"JUSTCHECK" }, \
+	{ XFS_DA_OP_RENAME,	"RENAME" }, \
+	{ XFS_DA_OP_ADDNAME,	"ADDNAME" }, \
+	{ XFS_DA_OP_OKNOENT,	"OKNOENT" }, \
+	{ XFS_DA_OP_CILOOKUP,	"CILOOKUP" }, \
+	{ XFS_DA_OP_ALLOCVAL,	"ALLOCVAL" }, \
+	{ XFS_DA_OP_INCOMPLETE,	"INCOMPLETE" }
+
 /*
  * Type verifier functions
  */