Name

end_request — end I/O on the current segment of the request

Synopsis

void end_request (struct request *  req,
 int  uptodate);

Arguments

req

the request being processed

uptodate

error value or 0/1 uptodate flag

Description

Ends I/O on the current segment of a request. If that is the only remaining segment, the request is also completed and freed.

This is a remnant of how older block drivers handled IO completions. Modern drivers typically end IO on the full request in one go, unless they have a residual value to account for. For that case this function isn't really useful, unless the residual just happens to be the full current segment. In other words, don't use this function in new code. Either use end_request_completely, or the end_that_request_chunk (along with end_that_request_last) for partial completions.