Commit 244efeaf authored by Darrick J. Wong's avatar Darrick J. Wong Committed by Dave Chinner
Browse files

xfs: move struct xfs_attr_shortform to xfs_da_format.h



Move the shortform attr structure definition to the same place as the
other attribute structure definitions for consistency and also so that
xfs/122 verifies the structure size.

Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
Signed-off-by: default avatarDave Chinner <david@fromorbit.com>
parent 18f1df4e
Loading
Loading
Loading
Loading
+0 −16
Original line number Original line Diff line number Diff line
@@ -24,22 +24,6 @@
 * Small attribute lists are packed as tightly as possible so as
 * Small attribute lists are packed as tightly as possible so as
 * to fit into the literal area of the inode.
 * to fit into the literal area of the inode.
 */
 */

/*
 * Entries are packed toward the top as tight as possible.
 */
typedef struct xfs_attr_shortform {
	struct xfs_attr_sf_hdr {	/* constant-structure header block */
		__be16	totsize;	/* total bytes in shortform list */
		__u8	count;	/* count of active entries */
	} hdr;
	struct xfs_attr_sf_entry {
		__uint8_t namelen;	/* actual length of name (no NULL) */
		__uint8_t valuelen;	/* actual length of value (no NULL) */
		__uint8_t flags;	/* flags bits (see xfs_attr_leaf.h) */
		__uint8_t nameval[1];	/* name & value bytes concatenated */
	} list[1];			/* variable sized array */
} xfs_attr_shortform_t;
typedef struct xfs_attr_sf_hdr xfs_attr_sf_hdr_t;
typedef struct xfs_attr_sf_hdr xfs_attr_sf_hdr_t;
typedef struct xfs_attr_sf_entry xfs_attr_sf_entry_t;
typedef struct xfs_attr_sf_entry xfs_attr_sf_entry_t;


+16 −0
Original line number Original line Diff line number Diff line
@@ -641,6 +641,22 @@ xfs_dir2_block_leaf_p(struct xfs_dir2_block_tail *btp)
 */
 */
#define XFS_ATTR_LEAF_MAPSIZE	3	/* how many freespace slots */
#define XFS_ATTR_LEAF_MAPSIZE	3	/* how many freespace slots */


/*
 * Entries are packed toward the top as tight as possible.
 */
typedef struct xfs_attr_shortform {
	struct xfs_attr_sf_hdr {	/* constant-structure header block */
		__be16	totsize;	/* total bytes in shortform list */
		__u8	count;	/* count of active entries */
	} hdr;
	struct xfs_attr_sf_entry {
		__uint8_t namelen;	/* actual length of name (no NULL) */
		__uint8_t valuelen;	/* actual length of value (no NULL) */
		__uint8_t flags;	/* flags bits (see xfs_attr_leaf.h) */
		__uint8_t nameval[1];	/* name & value bytes concatenated */
	} list[1];			/* variable sized array */
} xfs_attr_shortform_t;

typedef struct xfs_attr_leaf_map {	/* RLE map of free bytes */
typedef struct xfs_attr_leaf_map {	/* RLE map of free bytes */
	__be16	base;			  /* base of free region */
	__be16	base;			  /* base of free region */
	__be16	size;			  /* length of free region */
	__be16	size;			  /* length of free region */
+1 −0
Original line number Original line Diff line number Diff line
@@ -31,6 +31,7 @@
#include "xfs_error.h"
#include "xfs_error.h"
#include "xfs_trace.h"
#include "xfs_trace.h"
#include "xfs_attr_sf.h"
#include "xfs_attr_sf.h"
#include "xfs_da_format.h"


kmem_zone_t *xfs_ifork_zone;
kmem_zone_t *xfs_ifork_zone;