[dm-devel] [PATCH 02/13] dm: kill dm_rq_bio_destructor
Jun'ichi Nomura
j-nomura at ce.jp.nec.com
Tue May 22 04:29:01 UTC 2012
Hi,
On 05/19/12 03:50, Kent Overstreet wrote:
> On Fri, May 18, 2012 at 05:43:19PM +0100, Alasdair G Kergon wrote:
>> On Fri, May 18, 2012 at 08:57:29AM -0700, Tejun Heo wrote:
>>> Please explain why this is done and how it's safe. Alasdair / dm
>>> folks, can you please ack this?
>>
>> I think it's relying on there being never more than one reference on those
>> bios so that that endio fn, called exactly once, always frees it and there
>> are no dm_puts elsewhere.
>
> Is that a safe assumption? From my perusal of the code it certainly
> looks like it should be, but I don't know dm all that well.
Doing free_bio_info() in end_clone_bio() is safe.
But there is other problem.
This bio may be put by blk_rq_unprep_clone() and leak memory
without the destructor.
So could it be possible to keep bi_destructor available for this case?
Thanks,
--
Jun'ichi Nomura, NEC Corporation
More information about the dm-devel
mailing list