/* The bdstrat callback function for log bufs. This gives us a central place to trap bufs in case we get hit by a log I/O error and need to shutdown. Actually, in practice, even when we didn't get a log error, we transition the iclogs to IOERROR state  */
STATIC int xlog_bdstrat_cb(struct xfs_buf *)
/* The bdstrat callback function for log bufs. This gives us a central place to trap bufs in case we get hit by a log I/O error and need to shutdown. Actually, in practice, even when we didn't get a log error, we transition the iclogs to IOERROR state  */
STATIC int xlog_bdstrat_cb(struct xfs_buf *)
{
	xlog_in_core_t *iclog;
	iclog = XFS_BUF_FSPRIVATE(bp, xlog_in_core_t *);
	if ((iclog->ic_state & XLOG_STATE_IOERROR) == 0) {
	    XFS_bdstrat(bp);
		return 0;
	}
	XFS_BUF_ERROR(bp, EIO);
	XFS_BUF_STALE(bp);
	xfs_biodone(bp);
	return XFS_ERROR(EIO);
}