ext3: Don't update the superblock in ext3_statfs()
authorEric Sandeen <sandeen@redhat.com>
Mon, 16 Nov 2009 22:34:51 +0000 (16:34 -0600)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 26 Apr 2010 14:41:21 +0000 (07:41 -0700)
commitc39de9325438aa053afb3575edf9a1bd83d65819
tree383663d2936581fb0f5982e111f0a4638bc90f45
parent4ce89d53dc204c6ab6a6c14049cddb26738001fe
ext3: Don't update the superblock in ext3_statfs()

commit b918397542388de75bd86c32fbfa820e5d629fa9 upstream.

commit a71ce8c6c9bf269b192f352ea555217815cf027e updated ext3_statfs()
to update the on-disk superblock counters, but modified this buffer
directly without any journaling of the change.  This is one of the
accesses that was causing the crc errors in journal replay as seen in
kernel.org bugzilla #14354.

The modifications were originally to keep the sb "more" in sync,
so that a readonly fsck of the device didn't flag this as an
error (as often), but apparently e2fsprogs deals with this differently
now, anyway.

Based on Ted's patch for ext4, which was in turn based on my
work on that bug and another preliminary patch...

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Cc: maximilian attems <max@stro.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/ext3/super.c