[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