]> www.infradead.org Git - users/jedix/linux-maple.git/commit
xfs: fix buffer flushing during unmount
authorChristoph Hellwig <hch@infradead.org>
Sat, 19 Nov 2011 18:13:43 +0000 (13:13 -0500)
committerMaxim Uvarov <maxim.uvarov@oracle.com>
Thu, 8 Dec 2011 19:19:20 +0000 (11:19 -0800)
commit6c7487b8ef1a33e1db459bb58069b240fdf1544a
tree67c878c1ee10c2299e0aec695a3b4ebd61c273c3
parent8b01107b44421855476e90450f2cf6b5066cc7fc
xfs: fix buffer flushing during unmount

commit 87c7bec7fc3377b3873eb3a0f4b603981ea16ebb upstream.

The code to flush buffers in the umount code is a bit iffy: we first
flush all delwri buffers out, but then might be able to queue up a
new one when logging the sb counts.  On a normal shutdown that one
would get flushed out when doing the synchronous superblock write in
xfs_unmountfs_writesb, but we skip that one if the filesystem has
been shut down.

Fix this by moving the delwri list flushing until just before unmounting
the log, and while we're at it also remove the superflous delwri list
and buffer lru flusing for the rt and log device that can never have
cached or delwri buffers.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reported-by: Amit Sahrawat <amit.sahrawat83@gmail.com>
Tested-by: Amit Sahrawat <amit.sahrawat83@gmail.com>
Signed-off-by: Alex Elder <aelder@sgi.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/xfs/linux-2.6/xfs_buf.h
fs/xfs/xfs_mount.c