xfs: cleanup the definition of struct xfs_dir2_data_entry

Remove the tag member which is at a variable offset after the actual
name, and make name a real variable sized C99 array instead of the incorrect
one-sized array which confuses (not only) gcc.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Alex Elder <aelder@sgi.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
This commit is contained in:
Christoph Hellwig 2011-07-08 14:35:50 +02:00
parent 0ba9cd84ef
commit 3ed8638f88

View file

@ -98,14 +98,15 @@ typedef struct xfs_dir2_data_hdr {
/*
* Active entry in a data block. Aligned to 8 bytes.
* Tag appears as the last 2 bytes.
*
* After the variable length name field there is a 2 byte tag field, which
* can be accessed using xfs_dir2_data_entry_tag_p.
*/
typedef struct xfs_dir2_data_entry {
__be64 inumber; /* inode number */
__u8 namelen; /* name length */
__u8 name[1]; /* name bytes, no null */
/* variable offset */
__be16 tag; /* starting offset of us */
__u8 name[]; /* name bytes, no null */
/* __be16 tag; */ /* starting offset of us */
} xfs_dir2_data_entry_t;
/*