summary refs log tree commit diff
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2015-08-12 15:00:12 -0500
committerEric W. Biederman <ebiederm@xmission.com>2015-08-12 15:28:45 -0500
commit4b75de8615050c1b0dd8d7794838c42f74ed36ba (patch)
treea1b3dcc1c29a83c639246650c3ac8ea02bd31b56
parentfaf00da544045fdc1454f3b9e6d7f65c841de302 (diff)
downloadlinux-4b75de8615050c1b0dd8d7794838c42f74ed36ba.tar.gz
fs: Set the size of empty dirs to 0.
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>
-rw-r--r--fs/libfs.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/libfs.c b/fs/libfs.c
index 102edfd39000..c7cbfb092e94 100644
--- a/fs/libfs.c
+++ b/fs/libfs.c
@@ -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;