]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ROMFS: support inode blocks calculation
authorLibing Zhou <libing.zhou@nokia-sbell.com>
Fri, 16 Oct 2020 03:13:42 +0000 (20:13 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 16 Oct 2020 18:11:22 +0000 (11:11 -0700)
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>
fs/romfs/super.c

index e582d001f792eb317257d9e1c2ff20691b8f27fc..b1b7d3f5752fa94c54c1a5e187b3ceba5d592a78 100644 (file)
@@ -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;