end_request
Prev | Chapter 17. Block Devices | Next

## 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.

Prev | Up | Next
end_dequeued_request | Home | blk_end_request