aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibing Zhou <libing.zhou@nokia-sbell.com>2020-10-15 20:13:42 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2020-10-16 11:11:22 -0700
commitd9bc85de46cad90851c346b592005090674b7669 (patch)
tree9bc50688e46d1abe7af63709cabe8fef6fdb4c01
parentubsan: introduce CONFIG_UBSAN_LOCAL_BOUNDS for Clang (diff)
downloadlinux-dev-d9bc85de46cad90851c346b592005090674b7669.tar.xz
linux-dev-d9bc85de46cad90851c346b592005090674b7669.zip
ROMFS: support inode blocks calculation
When use 'stat' tool to display file status, the 'Blocks' field always in '0', this is not good for tool 'du'(e.g.: busybox 'du'), it always output '0' size for the files under ROMFS since such tool calculates number of 512B Blocks. This patch calculates approx. number of 512B blocks based on inode size. Signed-off-by: Libing Zhou <libing.zhou@nokia-sbell.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Cc: David Howells <dhowells@redhat.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Link: http://lkml.kernel.org/r/20200811052606.4243-1-libing.zhou@nokia-sbell.com Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--fs/romfs/super.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/romfs/super.c b/fs/romfs/super.c
index e582d001f792..b1b7d3f5752f 100644
--- a/fs/romfs/super.c
+++ b/fs/romfs/super.c
@@ -356,6 +356,7 @@ static struct inode *romfs_iget(struct super_block *sb, unsigned long pos)
}
i->i_mode = mode;
+ i->i_blocks = (i->i_size + 511) >> 9;
unlock_new_inode(i);
return i;