sysfs: Pack sysfs_dirent more tightly.
Eric W. Biederman [Sat, 13 Feb 2010 03:22:24 +0000 (19:22 -0800)]
Placing the 16bit s_mode between a pointer and a long doesn't pack well
especailly on 64bit where we wast 48 bits.  So move s_mode and
declare it as a unsigned short.  This is the sysfs backing store
after all we don't need fields extra large just in case someday
we want userspace to be able to use a larger value.

Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

fs/sysfs/sysfs.h

index 37e0e08..5a3192a 100644 (file)
@@ -66,8 +66,8 @@ struct sysfs_dirent {
        };
 
        unsigned int            s_flags;
+       unsigned short          s_mode;
        ino_t                   s_ino;
-       umode_t                 s_mode;
        struct sysfs_inode_attrs *s_iattr;
 };