The patch titled inode-diet: Use a union for i_blocks and i_size, i_rdev and i_devices has been added to the -mm tree. Its filename is inode-diet-use-a-union-for-i_blocks-and-i_size-i_rdev-and-i_devices.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: inode-diet: Use a union for i_blocks and i_size, i_rdev and i_devices From: "Theodore Ts'o" <tytso@xxxxxxx> The i_blocks and i_size fields are only used for regular files. So we move them into the union, along with i_rdev and i_devices, which are only used by block or character devices. Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- fs/stat.c | 2 +- include/linux/fs.h | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff -puN fs/stat.c~inode-diet-use-a-union-for-i_blocks-and-i_size-i_rdev-and-i_devices fs/stat.c --- a/fs/stat.c~inode-diet-use-a-union-for-i_blocks-and-i_size-i_rdev-and-i_devices +++ a/fs/stat.c @@ -32,7 +32,7 @@ void generic_fillattr(struct inode *inod stat->mtime = inode->i_mtime; stat->ctime = inode->i_ctime; stat->size = i_size_read(inode); - stat->blocks = inode->i_blocks; + stat->blocks = S_ISREG(inode->i_mode) ? inode->i_blocks : 0; stat->blksize = PAGE_CACHE_SIZE; } diff -puN include/linux/fs.h~inode-diet-use-a-union-for-i_blocks-and-i_size-i_rdev-and-i_devices include/linux/fs.h --- a/include/linux/fs.h~inode-diet-use-a-union-for-i_blocks-and-i_size-i_rdev-and-i_devices +++ a/include/linux/fs.h @@ -501,15 +501,12 @@ struct inode { unsigned int i_nlink; uid_t i_uid; gid_t i_gid; - dev_t i_rdev; loff_t i_size; struct timespec i_atime; struct timespec i_mtime; struct timespec i_ctime; unsigned int i_blkbits; unsigned long i_version; - blkcnt_t i_blocks; - unsigned short i_bytes; spinlock_t i_lock; /* i_blocks, i_bytes, maybe i_size */ struct mutex i_mutex; struct rw_semaphore i_alloc_sem; @@ -522,11 +519,20 @@ struct inode { #ifdef CONFIG_QUOTA struct dquot *i_dquot[MAXQUOTAS]; #endif - struct list_head i_devices; union { struct pipe_inode_info *i_pipe; - struct block_device *i_bdev; - struct cdev *i_cdev; + struct { + union { + struct block_device *i_bdev; + struct cdev *i_cdev; + }; + dev_t i_rdev; + struct list_head i_devices; + }; + struct { + unsigned short i_bytes; + blkcnt_t i_blocks; + }; }; __u32 i_generation; _ Patches currently in -mm which might be from tytso@xxxxxxx are origin.patch uml-build-fix.patch inode_diet-replace-inodeugeneric_ip-with-inodei_private.patch inode-diet-move-i_pipe-into-a-union.patch inode-diet-move-i_bdev-into-a-union.patch inode-diet-move-i_cdev-into-a-union.patch inode-diet-eliminate-i_blksize-and-use-a-per-superblock-default.patch inode-diet-move-i_cindex-from-struct-inode-to-struct-file.patch inode-diet-use-a-union-for-i_blocks-and-i_size-i_rdev-and-i_devices.patch inode-diet-fix-size-of-i_blkbits-i_version-and-i_dnotify_mask.patch inode-diet-move-i_pipe-into-a-union-ecryptfs.patch inode-diet-eliminate-i_blksize-and-use-a-per-superblock-default-ecryptfs.patch inode_diet-replace-inodeugeneric_ip-with-inodei_private-reiser4.patch inode-diet-eliminate-i_blksize-and-use-a-per-superblock-default-reiser4.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html