Re: [PATCH] aoe: end barrier bios with EOPNOTSUPP

From: Jens Axboe
Date: Wed Sep 09 2009 - 16:59:01 EST


On Wed, Sep 09 2009, Ed Cashin wrote:
> On Wed Sep 9 13:06:42 EDT 2009, alan@xxxxxxxxxxxxxxxxxxx wrote:
> > > The bio in question is a barrier. Jens Axboe suggested that such bios
> > > need to be recognized and ended with -EOPNOTSUPP by any driver that
> > > provides its own ->make_request_fn handler and does not handle
> > > barriers.
> > >
> > > In testing the changes below eliminate the BUG.
> >
> > Presumably AoE should actually issue an ATA cache flush for this case ?
>
> Yes. The aoe driver juggles a set of in-process I/O operations that
> have been sent to the AoE target but have not yet received responses.
>
> To implement the barrier, it would stop generating new AoE write
> commands, wait for AoE write responses for all the outstanding write
> commands, issue the ATA cache flush command, wait for the response to
> the flush, and then resume normal activity.

That's how barriers work with sata to begin with, so I'd very much
recommend that you do the same in aoe instead of just not supporting it.

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/