fs: Set the size of empty dirs to 0.
authorEric W. Biederman <ebiederm@xmission.com>
Wed, 12 Aug 2015 20:00:12 +0000 (15:00 -0500)
committerEric W. Biederman <ebiederm@xmission.com>
Wed, 12 Aug 2015 20:28:45 +0000 (15:28 -0500)
Before the make_empty_dir_inode calls were introduce into proc, sysfs,
and sysctl those directories when stated reported an i_size of 0.
make_empty_dir_inode started reporting an i_size of 2.  At least one
userspace application depended on stat returning i_size of 0.  So
modify make_empty_dir_inode to cause an i_size of 0 to be reported for
these directories.

Cc: stable@vger.kernel.org
Reported-by: Tejun Heo <tj@kernel.org>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
fs/libfs.c

index 102edfd39000c15f14594a47b6236ba8edb5ccc8..c7cbfb092e9467db1795145816faa91e1eda731f 100644 (file)
@@ -1185,7 +1185,7 @@ void make_empty_dir_inode(struct inode *inode)
        inode->i_uid = GLOBAL_ROOT_UID;
        inode->i_gid = GLOBAL_ROOT_GID;
        inode->i_rdev = 0;
-       inode->i_size = 2;
+       inode->i_size = 0;
        inode->i_blkbits = PAGE_SHIFT;
        inode->i_blocks = 0;