diff options
author | Christoph Hellwig <hch@infradead.org> | 2011-11-19 13:13:37 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-11-26 09:10:04 -0800 |
commit | e62cccfcf5535487daf8c1d3613b9dabc2315b44 (patch) | |
tree | 83cc1990bb88927f367758161ca21142eadc476f /fs/xfs | |
parent | 10318b5517baa2ae7e4bb884c6acb9cf572eebc8 (diff) | |
download | kernel_samsung_smdk4412-e62cccfcf5535487daf8c1d3613b9dabc2315b44.tar.gz kernel_samsung_smdk4412-e62cccfcf5535487daf8c1d3613b9dabc2315b44.tar.bz2 kernel_samsung_smdk4412-e62cccfcf5535487daf8c1d3613b9dabc2315b44.zip |
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.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/fs/xfs/xfs_buf_item.c b/fs/xfs/xfs_buf_item.c index a7342e840d7..7888a756307 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); |