diff options
author | Ajeet Yadav <ajeet.yadav.77@gmail.com> | 2011-07-29 07:42:59 +0000 |
---|---|---|
committer | Alex Elder <aelder@sgi.com> | 2011-08-10 17:00:21 -0500 |
commit | 9e978d8f7db1c5de7cdc6450a8ca208db3b95f84 (patch) | |
tree | 728a04a500acc62e49c944cb46096d651daf0d41 /fs/xfs/xfs_buf_item.c | |
parent | e44f4112a46ca817fe2758aac7bf7893a64a8c0e (diff) | |
download | op-kernel-dev-9e978d8f7db1c5de7cdc6450a8ca208db3b95f84.zip op-kernel-dev-9e978d8f7db1c5de7cdc6450a8ca208db3b95f84.tar.gz |
"xfs: fix error handling for synchronous writes" revisited
xfs: fix for hang during synchronous buffer write error
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>
Diffstat (limited to 'fs/xfs/xfs_buf_item.c')
-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 0402173..cac2ecf 100644 --- a/fs/xfs/xfs_buf_item.c +++ b/fs/xfs/xfs_buf_item.c @@ -1010,7 +1010,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); |