From: "Jun'ichi Nomura" <j-nomura@ce.jp.nec.com>
To: device-mapper development <dm-devel@redhat.com>,
Kent Overstreet <koverstreet@google.com>
Cc: Tejun Heo <tj@kernel.org>,
axboe@kernel.dk, linux-kernel@vger.kernel.org,
linux-bcache@vger.kernel.org, linux-fsdevel@vger.kernel.org,
agk@redhat.com, Mikulas Patocka <mpatocka@redhat.com>
Subject: Re: [dm-devel] [PATCH 02/13] dm: kill dm_rq_bio_destructor
Date: Tue, 22 May 2012 13:29:01 +0900 [thread overview]
Message-ID: <4FBB160D.9040600@ce.jp.nec.com> (raw)
In-Reply-To: <20120518185027.GA9673@google.com>
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
next prev parent reply other threads:[~2012-05-22 4:32 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-18 2:59 [PATCH 00/13] Block cleanups (for bcache) koverstreet
2012-05-18 2:59 ` [PATCH 01/13] block: Generalized bio pool freeing koverstreet
2012-05-18 15:55 ` Tejun Heo
2012-05-18 16:14 ` [dm-devel] " Alasdair G Kergon
2012-05-18 2:59 ` [PATCH 02/13] dm: kill dm_rq_bio_destructor koverstreet
2012-05-18 15:57 ` Tejun Heo
2012-05-18 16:43 ` [dm-devel] " Alasdair G Kergon
2012-05-18 18:50 ` Kent Overstreet
2012-05-22 4:29 ` Jun'ichi Nomura [this message]
2012-05-18 2:59 ` [PATCH 03/13] block: Add bio_clone_bioset() koverstreet
2012-05-18 16:05 ` Tejun Heo
2012-05-18 20:31 ` Kent Overstreet
2012-05-18 16:11 ` [dm-devel] " Vivek Goyal
2012-05-18 18:55 ` Kent Overstreet
2012-05-18 2:59 ` [PATCH 04/13] block: Add bio_clone_kmalloc() koverstreet
2012-05-18 16:09 ` Tejun Heo
2012-05-18 20:39 ` Kent Overstreet
2012-05-18 16:45 ` Boaz Harrosh
2012-05-18 2:59 ` [PATCH 05/13] block: Only clone bio vecs that are in use koverstreet
2012-05-18 16:13 ` Tejun Heo
2012-05-18 21:14 ` Kent Overstreet
2012-05-18 2:59 ` [PATCH 06/13] block: Add bio_reset() koverstreet
2012-05-18 16:16 ` Tejun Heo
2012-05-18 21:48 ` Kent Overstreet
2012-05-18 2:59 ` [PATCH 07/13] pktcdvd: Switch to bio_kmalloc() koverstreet
2012-05-18 16:18 ` Tejun Heo
2012-05-18 2:59 ` [PATCH 08/13] block: Kill bi_destructor koverstreet
2012-05-18 16:21 ` Tejun Heo
2012-05-18 22:21 ` Kent Overstreet
2012-05-18 2:59 ` [PATCH 09/13] block: Add an explicit bio flag for bios that own their bvec koverstreet
2012-05-18 16:30 ` Tejun Heo
2012-05-18 21:49 ` Kent Overstreet
2012-05-18 17:07 ` Boaz Harrosh
2012-05-18 2:59 ` [PATCH 10/13] block: Rework bio splitting koverstreet
2012-05-18 17:07 ` Tejun Heo
2012-05-18 17:46 ` Boaz Harrosh
2012-05-18 2:59 ` [PATCH 11/13] Closures koverstreet
2012-05-18 17:08 ` Tejun Heo
2012-05-18 2:59 ` [PATCH 12/13] Make generic_make_request handle arbitrarily large bios koverstreet
2012-05-18 8:05 ` NeilBrown
2012-05-18 8:14 ` Kent Overstreet
2012-05-21 17:17 ` [dm-devel] " Vivek Goyal
2012-05-21 17:55 ` Kent Overstreet
2012-05-21 18:32 ` Vivek Goyal
2012-05-18 17:52 ` Tejun Heo
2012-05-19 0:59 ` [dm-devel] " Alasdair G Kergon
2012-05-18 22:48 ` Mikulas Patocka
2012-05-18 3:00 ` [PATCH 13/13] Gut bio_add_page() koverstreet
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FBB160D.9040600@ce.jp.nec.com \
--to=j-nomura@ce.jp.nec.com \
--cc=agk@redhat.com \
--cc=axboe@kernel.dk \
--cc=dm-devel@redhat.com \
--cc=koverstreet@google.com \
--cc=linux-bcache@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mpatocka@redhat.com \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome