xfs: cleanup the definition of struct xfs_dir2_data_entry
authorChristoph Hellwig <hch@lst.de>
Fri, 8 Jul 2011 12:35:50 +0000 (14:35 +0200)
committerChristoph Hellwig <hch@lst.de>
Fri, 8 Jul 2011 12:35:50 +0000 (14:35 +0200)
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>
fs/xfs/xfs_dir2_data.h

index ca02cc7..c505125 100644 (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;
 
 /*