ext3/jbd: Avoid WARN() messages when failing to write the superblock
authorDarrick J. Wong <djwong@us.ibm.com>
Mon, 4 Oct 2010 19:35:05 +0000 (12:35 -0700)
committerJan Kara <jack@suse.cz>
Wed, 27 Oct 2010 23:30:02 +0000 (01:30 +0200)
commitdff6825e9fde93891e60751e01480337a991235e
tree3b243584ee48752096b110c04ecd803e285325ae
parent8117f98c058dbe463eaba2b51b84d19bd5d78804
ext3/jbd: Avoid WARN() messages when failing to write the superblock

This fixes a WARN backtrace in mark_buffer_dirty() that occurs during unmount
when the underlying block device is removed.  This bug has been seen on System
Z when removing all paths from a multipath-backed ext3 mount; on System P when
injecting enough PCI EEH errors to make the SCSI controller go offline; and
similar warnings have been seen (and patched) with ext2/ext4.

The super block update from a previous operation has marked the buffer as in
error, and the flag has to be cleared before doing the update. Similar changes
have been made to ext4 by commit 914258bf2cb22bf4336a1b1d90c551b4b11ca5aa.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/ext3/super.c
fs/jbd/journal.c