Hi,

The comment at the top of end_request() says:

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

But unless I'm blind, neither end_request_completely() nor
end_request_chunk() exist.

There are several request completion notification functions
(end_request, end_queued_request, end_dequeued_request, blk_end_request
and __blk_end_request). Which ones should be used in what case ?

If end_request() is deprecated, I suspect that the goal is to deprecate
all end_*_request() functions as well, is it correct ? If so, is that
correct that one should use blk_end_request() when the queue lock is
not held, and __blk_end_request() if the queue lock is already held ?

Thanks!

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.
http://free-electrons.com

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [EMAIL PROTECTED]
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to