diff options
author | Christoph Hellwig <hch@infradead.org> | 2011-09-14 10:08:26 -0400 |
---|---|---|
committer | Alex Elder <aelder@sgi.com> | 2011-10-11 22:15:09 -0400 |
commit | 87c7bec7fc3377b3873eb3a0f4b603981ea16ebb (patch) | |
tree | abe143d8f76e4d95f2158134913b10fc9be6def1 /fs/xfs/xfs_buf.h | |
parent | 1da2f2dbf2d2aaa1b0f6ca2f61fcf07e24eb659b (diff) |
xfs: fix buffer flushing during unmount
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>
Diffstat (limited to 'fs/xfs/xfs_buf.h')
-rw-r--r-- | fs/xfs/xfs_buf.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/fs/xfs/xfs_buf.h b/fs/xfs/xfs_buf.h index c23826685d3d..200f59138b8a 100644 --- a/fs/xfs/xfs_buf.h +++ b/fs/xfs/xfs_buf.h | |||
@@ -318,7 +318,6 @@ extern struct list_head *xfs_get_buftarg_list(void); | |||
318 | #define xfs_getsize_buftarg(buftarg) block_size((buftarg)->bt_bdev) | 318 | #define xfs_getsize_buftarg(buftarg) block_size((buftarg)->bt_bdev) |
319 | #define xfs_readonly_buftarg(buftarg) bdev_read_only((buftarg)->bt_bdev) | 319 | #define xfs_readonly_buftarg(buftarg) bdev_read_only((buftarg)->bt_bdev) |
320 | 320 | ||
321 | #define xfs_binval(buftarg) xfs_flush_buftarg(buftarg, 1) | ||
322 | #define XFS_bflush(buftarg) xfs_flush_buftarg(buftarg, 1) | 321 | #define XFS_bflush(buftarg) xfs_flush_buftarg(buftarg, 1) |
323 | 322 | ||
324 | #endif /* __XFS_BUF_H__ */ | 323 | #endif /* __XFS_BUF_H__ */ |