| From hch@infradead.org Tue Nov 22 13:29:58 2011 |
| From: Christoph Hellwig <hch@infradead.org> |
| Date: Sat, 19 Nov 2011 13:13:37 -0500 |
| Subject: xfs: fix error handling for synchronous writes |
| To: stable@vger.kernel.org |
| Cc: xfs@oss.sgi.com, Ajeet Yadav <ajeet.yadav.77@gmail.com>, Alex Elder <aelder@sgi.com> |
| Message-ID: <20111119181543.361506649@bombadil.infradead.org> |
| |
| From: Christoph Hellwig <hch@infradead.org> |
| |
| 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> |
| --- |
| fs/xfs/xfs_buf_item.c | 1 - |
| 1 file changed, 1 deletion(-) |
| |
| --- 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); |