Messages in this thread | | | Date | Wed, 9 Sep 2009 22:58:35 +0200 | From | Jens Axboe <> | Subject | Re: [PATCH] aoe: end barrier bios with EOPNOTSUPP |
| |
On Wed, Sep 09 2009, Ed Cashin wrote: > On Wed Sep 9 13:06:42 EDT 2009, alan@lxorguk.ukuu.org.uk 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
| |