[dm-devel] Re: [RFC] issues with device mapper snapshots
Dave Olien
dmo at osdl.org
Wed Jun 30 18:35:48 UTC 2004
I agree with the need for a more generic solution to bio pools.
Duplicating code in dm-io.c is unfortunate.
I suspect that won't be solvable until 2.7/2.8.
Probably wouldn't want to make this kind of change in a stable release.
You're right, this is in bio_clone() dm.c, and the local bio allocators are
statically declared in dm-io.c.
What would you think of creating a bio_set_clone() in dm-io.c, and
exporting the symbol for use by dm.c, the replace that bio_clone() with
a call to bio_set_clone().
On Wed, Jun 30, 2004 at 01:26:41PM -0500, Kevin Corry wrote:
>
> The call to bio_clone() in the above trace is not in dm-io.c - it's in dm.c
> and part of the normal I/O path. I've always been a bit wary of calling the
> generic bio_clone() at that point, but I've never been able to generate a
> case that causes memory starvation like you're seeing.
>
> In my opinion, what we *really* need to do is move the local bio pool stuff in
> dm-io.c into fs/bio.c, and provide a kernel-wide mechanism for creating pools
> of bios. Then we could use that mechanism from both dm.c and dm-io.c.
>
> Of course, we'll need to convince a few more people than just the three of us
> before we can make such a change. :)
>
> --
> Kevin Corry
> kevcorry at us.ibm.com
> http://evms.sourceforge.net/
> --
> dm-devel mailing list
> dm-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel
More information about the dm-devel
mailing list