Re: [PATCH] 2.5.30 IDE 113

Jens Axboe (axboe@suse.de)
Tue, 6 Aug 2002 13:05:48 +0200


On Tue, Aug 06 2002, Marcin Dalecki wrote:
> Uz.ytkownik Jens Axboe napisa?:
> >On Tue, Aug 06 2002, Marcin Dalecki wrote:
> >
> >>Uz.ytkownik Jens Axboe napisa?:
> >>
> >>>On Tue, Aug 06 2002, Marcin Dalecki wrote:
> >>>
> >>>
> >>>>device not per channel! If q->request_fn would properly return the
> >>>>error count instead of void, we could even get rid ot the
> >>>>checking for rq->errors after finishment... But well that's
> >>>>entierly different story.
> >>>
> >>>
> >>>That's nonsense! What exactly would you return from a request_fn after
> >>>having queued, eg, 20 commands? Error count is per request, anything
> >>>else would be stupid.
> >>
> >>Returning the error count in the case q->request_fn is called for
> >>a self submitted request like for example REQ_SPECIAL would be handy and
> >>well defined. For the cumulative case it would of course make sense to
> >>return the cumulative error count. Tough not very meaningfull, it would
> >>indicate the occurrence of the error very fine.
> >
> >
> >It's much nicer to maintain a sane API that doesn't depend on stuff like
> >the above. Cumulative error count, come on, you can't possibly be
> >serious?!
>
> Hey don't get me wrong - I *do not* suggest adding it becouse I don't
> think we are going to change the "eat as many as possible requests"
> instead of "eat one request" semantics of the q->reuqest_fn().
> OK?

You look from the IDE perspective, I look from the interface
perspective. There's is no "eat one request" semantic of request_fn(),
in fact there's just the opposite. If you quit after having just
consumed one request, you must make sure to invoke request_fn _yourself_
later on -- or use the recent blk_start/stop_queue helpers.

-- 
Jens Axboe

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