[dm-devel] [PATCH 2/9] blk: In elv_abort_queue skip requests with REQ_DONTPREP set

Jens Axboe jens.axboe at oracle.com
Wed May 5 08:21:50 UTC 2010


On Tue, May 04 2010, Mike Anderson wrote:
> Jens Axboe <jens.axboe at oracle.com> wrote:
> > On Mon, May 03 2010, Mike Anderson wrote:
> > > Having REQ_DONTPREP set on a request can indicated that resources have been
> > > allocated for this request. In elv_abort_queue skip requests with
> > > REQ_DONTPREP set to avoid leaking resources.
> > 
> > This also seems weird, are you coding the API backwards from what SCSI
> > currently has implemented?
> > 
> 
> Yes I was coding to current SCSI implementation.
> 
> > Would seem a lot cleaner to separate dont-prep from already-prepped.
> > 
> 
> I assumed to do this we would need another request flag indicating
> ??REQ_PREPPED?? that would need to be set in the prep function. Then
> this flag would be checked vs REQ_DONTPREP to call the unprep_fn or did you
> mean something else?

Yeah, something like that, cleanly seperating the state of needing
unprep vs never being prepped. As that's a driver state, most drivers
should be able to get that info without needing an extra flag. But it's
probably cleaner to add the REQ_PREPPED flag and only call back into the
driver if the rq really needs an unprep.

-- 
Jens Axboe




More information about the dm-devel mailing list