diff options
author | Ben Myers <bpm@sgi.com> | 2013-12-18 10:36:58 -0600 |
---|---|---|
committer | Ben Myers <bpm@sgi.com> | 2013-12-18 10:36:58 -0600 |
commit | 324bb26144e9be037227ff75fae1042d048a15b4 (patch) | |
tree | c90ce3a7a9712884c5f36fa64b5c113f1e37f906 /fs/xfs/xfs_trans_buf.c | |
parent | 46f23adf78545c49591619a615edeec41ed5a549 (diff) | |
parent | ac8809f9ab01a73de1a47b5a37bd8dcca8712fb3 (diff) |
Merge branch 'xfs-for-linus-v3.13-rc5' into for-next
Diffstat (limited to 'fs/xfs/xfs_trans_buf.c')
-rw-r--r-- | fs/xfs/xfs_trans_buf.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/fs/xfs/xfs_trans_buf.c b/fs/xfs/xfs_trans_buf.c index c035d11b773..647b6f1d892 100644 --- a/fs/xfs/xfs_trans_buf.c +++ b/fs/xfs/xfs_trans_buf.c @@ -314,7 +314,18 @@ xfs_trans_read_buf_map( ASSERT(bp->b_iodone == NULL); XFS_BUF_READ(bp); bp->b_ops = ops; - xfsbdstrat(tp->t_mountp, bp); + + /* + * XXX(hch): clean up the error handling here to be less + * of a mess.. + */ + if (XFS_FORCED_SHUTDOWN(mp)) { + trace_xfs_bdstrat_shut(bp, _RET_IP_); + xfs_bioerror_relse(bp); + } else { + xfs_buf_iorequest(bp); + } + error = xfs_buf_iowait(bp); if (error) { xfs_buf_ioerror_alert(bp, __func__); |