aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2011-11-19 13:13:37 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2011-11-26 09:10:04 -0800
commite62cccfcf5535487daf8c1d3613b9dabc2315b44 (patch)
tree83cc1990bb88927f367758161ca21142eadc476f /fs/xfs
parent10318b5517baa2ae7e4bb884c6acb9cf572eebc8 (diff)
downloadkernel_samsung_aries-e62cccfcf5535487daf8c1d3613b9dabc2315b44.zip
kernel_samsung_aries-e62cccfcf5535487daf8c1d3613b9dabc2315b44.tar.gz
kernel_samsung_aries-e62cccfcf5535487daf8c1d3613b9dabc2315b44.tar.bz2
xfs: fix error handling for synchronous writes
If removed storage while synchronous buffer write underway, "xfslogd" hangs. Detailed log http://oss.sgi.com/archives/xfs/2011-07/msg00740.html Related work bfc60177f8ab509bc225becbb58f7e53a0e33e81 "xfs: fix error handling for synchronous writes" Given that xfs_bwrite actually does the shutdown already after waiting for the b_iodone completion and given that we actually found that calling xfs_force_shutdown from inside xfs_buf_iodone_callbacks was a major contributor the problem it better to drop this call. Signed-off-by: Ajeet Yadav <ajeet.yadav.77@gmail.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Alex Elder <aelder@sgi.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'fs/xfs')
-rw-r--r--fs/xfs/xfs_buf_item.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/fs/xfs/xfs_buf_item.c b/fs/xfs/xfs_buf_item.c
index a7342e8..7888a75 100644
--- a/fs/xfs/xfs_buf_item.c
+++ b/fs/xfs/xfs_buf_item.c
@@ -1023,7 +1023,6 @@ xfs_buf_iodone_callbacks(
XFS_BUF_UNDELAYWRITE(bp);
trace_xfs_buf_error_relse(bp, _RET_IP_);
- xfs_force_shutdown(mp, SHUTDOWN_META_IO_ERROR);
do_callbacks:
xfs_buf_do_callbacks(bp);