Name

blk_end_io — Generic end_io function to complete a request.

Synopsis

int blk_end_io (struct request *  rq,
 int  error,
 unsigned int  nr_bytes,
 unsigned int  bidi_bytes,
 int ()(struct request *)  drv_callback);

Arguments

rq

the request being processed

error

0 for success, < 0 for error

nr_bytes

number of bytes to complete rq

bidi_bytes

number of bytes to complete rq->next_rq

drv_callback

function called between completion of bios in the request and completion of the request. If the callback returns non 0, this helper returns without completion of the request.

Description

Ends I/O on a number of bytes attached to rq and rq->next_rq. If rq has leftover, sets it up for the next range of segments.

Return

0 - we are done with this request 1 - this request is not freed yet, it still has pending buffers.