On Thu, Aug 28, 2014 at 05:32:57PM -0700, Christoph Hellwig wrote: > > index 96c898e..758c07d 100644 > > --- a/fs/xfs/xfs_trans_buf.c > > +++ b/fs/xfs/xfs_trans_buf.c > > @@ -324,11 +324,13 @@ xfs_trans_read_buf_map( > > */ > > if (XFS_FORCED_SHUTDOWN(mp)) { > > trace_xfs_bdstrat_shut(bp, _RET_IP_); > > - xfs_bioerror_relse(bp); > > - } else { > > - xfs_buf_iorequest(bp); > > + bp->b_flags &= ~(XBF_READ | XBF_DONE); > > + xfs_buf_ioerror(bp, -EIO); > > + xfs_buf_stale(bp); > > + return -EIO; > > } > > This is a large change of behavior as it doesn't hit the error > path after the xfs_buf_iowait anymore. While I don't think that > that path was entirely correct this version seems to be even less so > by not releasing the buffer reference or forcing the shutdown. The IO is synchronous, so the previous behaviour did not release the buffer here. But, yes, it needs to because we're not running the io wait on it anymore. And this happens only during a shutdown, so i don't see any need to trigger a shutdown ;) As it is, I think this gets properly fixed by the next patch.... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs