Use a zero sized array for raw field in struct fid
authorSteven Whitehouse <swhiteho@redhat.com>
Tue, 8 Apr 2008 12:12:52 +0000 (13:12 +0100)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Wed, 23 Apr 2008 20:13:42 +0000 (16:13 -0400)
The raw field's size can vary so we use a zero sized array since
gcc will not allow a variable sized array inside a union. This
has been tested with ext3 and gfs2 and relates to the bug
report: http://lkml.org/lkml/2007/10/24/374 and discussion
thread: http://lkml.org/lkml/2008/4/7/65

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Neil Brown <neilb@suse.de>
Cc: Adrian Bunk <bunk@kernel.org>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
include/linux/exportfs.h

index adcbb05..de8387b 100644 (file)
@@ -43,7 +43,7 @@ struct fid {
                        u32 parent_ino;
                        u32 parent_gen;
                } i32;
-               __u32 raw[6];
+               __u32 raw[0];
        };
 };