diff options
Diffstat (limited to 'fs/ext3/super.c')
| -rw-r--r-- | fs/ext3/super.c | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/ext3/super.c b/fs/ext3/super.c index c50c7619037..08cdfe5461e 100644 --- a/fs/ext3/super.c +++ b/fs/ext3/super.c @@ -527,7 +527,7 @@ static void init_once(void *foo)  	inode_init_once(&ei->vfs_inode);  } -static int init_inodecache(void) +static int __init init_inodecache(void)  {  	ext3_inode_cachep = kmem_cache_create("ext3_inode_cache",  					     sizeof(struct ext3_inode_info), @@ -2649,6 +2649,8 @@ static int ext3_remount (struct super_block * sb, int * flags, char * data)  	int i;  #endif +	sync_filesystem(sb); +  	/* Store the original options */  	old_sb_flags = sb->s_flags;  	old_opts.s_mount_opt = sbi->s_mount_opt; @@ -2825,6 +2827,10 @@ static int ext3_statfs (struct dentry * dentry, struct kstatfs * buf)  		 * bitmap, and an inode table.  		 */  		overhead += ngroups * (2 + sbi->s_itb_per_group); + +		/* Add the journal blocks as well */ +                overhead += sbi->s_journal->j_maxlen; +  		sbi->s_overhead_last = overhead;  		smp_wmb();  		sbi->s_blocks_last = le32_to_cpu(es->s_blocks_count);  | 
