Re: [RFC] FC pass thru - Rev IV

James Smart
2008-11-25T15:47:17Z

Seokmann Ju wrote:
>>>> +
>>>> + spin_unlock_irq(q->queue_lock);
>>>> +
>>>> + ret = fc_req_to_bsgjob(shost, rport, req);
>>>> + if (ret) {
>>>> + req->errors = ret;
>>>> + spin_lock_irq(q->queue_lock);
>>>> + blk_complete_request(req);
>>> Shouldn't this be blk_end_bidi_request()/blk_end_request()?
>> A good question, that I was hoping to have cleared up. If this was
>> true, there were a lot of errors in the last passthru code.
> I'm not sure whether the previous code had the
> 'blk_complete_request()' somewhere in the code, but my main concern
> was to make sure that the code completes the requests in such a way so
> that it remove the requests from the timeout_list by hitting
> blk_delete_timer().

Hopefully, Jens, Fujita, or Boaz can give us some guidance...

I'd really like to ensure I'm calling the right callback :
a) if it differs based on being a bidi request or not
b) if it differs based on based on whether I've called blk_rq_map_sg()
c) if I don't dequeue it, whether my "goose queue" is handled right.

I found the blk api to be rather confusing on what when.

-- james