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 ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ