dm-rq needs to free request which has been dispatched and not completed
by underlying queue. However, the underlying queue may have allocated
private data for this request in .queue_rq(), so the request private
part is leaked.
Add one new callback of .cleanup_rq() to free the request private data.
Implement .cleanup_rq() callback for freeing driver private part of the
request. Then we can avoid to leak request private data if the request
isn't completed by SCSI, and freed by blk-mq or upper layer(such as dm-rq)
finally.
Cc: Ewan D. Milne
Cc: Bart Van Assche
Cc: Hannes Reinecke
Cc: Christ
Hi,
When one request is dispatched to LLD via dm-rq, if the result is
BLK_STS_*RESOURCE, dm-rq will free the request. However, LLD may allocate
private data for this request, so this way will cause memory leak.
Add .cleanup_rq() callback and implement it in SCSI for fixing the issue,
since SCSI i
On Thu, Jul 18 2019 at 9:35pm -0400,
Ming Lei wrote:
> On Thu, Jul 18, 2019 at 10:52:01AM -0400, Mike Snitzer wrote:
> > On Wed, Jul 17 2019 at 11:25pm -0400,
> > Ming Lei wrote:
> >
> > > dm-rq needs to free request which has been dispatched and not completed
> > > by underlying queue. Howeve
4 matches
Mail list logo