linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ext2 statfs improvement for block and inode free count
@ 2007-07-14  1:36 Badari Pulavarty
  2007-07-19  3:18 ` Andrew Morton
  2007-10-16 22:00 ` Andrew Morton
  0 siblings, 2 replies; 7+ messages in thread
From: Badari Pulavarty @ 2007-07-14  1:36 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Andreas Dilger, lkml, ext4

Andrew,

Can you include it in -mm ? 

BTW, this patch is against mainline, won't apply cleanly to -mm, due to
other statfs() improvements.

Thanks,
Badari

More statfs() improvements for ext2. ext2 already maintains
percpu counters for free blocks and inodes. Derive free
block count and inode count by summing up percpu counters,
instead of counting up all the groups in the filesystem
each time.


Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com>
Acked-by: Andreas Dilger <adilger@clusterfs.com>

 fs/ext2/super.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: linux-2.6.22/fs/ext2/super.c
===================================================================
--- linux-2.6.22.orig/fs/ext2/super.c	2007-07-13 20:06:38.000000000 -0700
+++ linux-2.6.22/fs/ext2/super.c	2007-07-13 20:06:51.000000000 -0700
@@ -1136,12 +1136,12 @@ static int ext2_statfs (struct dentry * 
 	buf->f_type = EXT2_SUPER_MAGIC;
 	buf->f_bsize = sb->s_blocksize;
 	buf->f_blocks = le32_to_cpu(es->s_blocks_count) - overhead;
-	buf->f_bfree = ext2_count_free_blocks(sb);
+ 	buf->f_bfree = percpu_counter_sum(&sbi->s_freeblocks_counter);
 	buf->f_bavail = buf->f_bfree - le32_to_cpu(es->s_r_blocks_count);
 	if (buf->f_bfree < le32_to_cpu(es->s_r_blocks_count))
 		buf->f_bavail = 0;
 	buf->f_files = le32_to_cpu(es->s_inodes_count);
-	buf->f_ffree = ext2_count_free_inodes(sb);
+ 	buf->f_ffree = percpu_counter_sum(&sbi->s_freeinodes_counter);
 	buf->f_namelen = EXT2_NAME_LEN;
 	fsid = le64_to_cpup((void *)es->s_uuid) ^
 	       le64_to_cpup((void *)es->s_uuid + sizeof(u64));

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2007-10-17 23:15 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-14  1:36 [PATCH] ext2 statfs improvement for block and inode free count Badari Pulavarty
2007-07-19  3:18 ` Andrew Morton
2007-07-19 15:18   ` Badari Pulavarty
2007-07-20  9:01     ` Andreas Dilger
2007-10-16 22:00 ` Andrew Morton
2007-10-16 22:18   ` Badari
2007-10-17 23:15   ` Andreas Dilger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).