On Wednesday 30 June 2004 1:35 pm, Dave Olien wrote: > 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(). I believe that should be sufficient for the time being. I don't think it would be impossible to get this change into fs/bio.c during 2.6. It would mostly be a matter of setting up the infrastructure (for which there would be no initial users). Then we'd want to create a global pool (sometime during kernel initialization) that would mimic the existing global bio pool. Then make it so calls to bio_clone() and bio_alloc() would always go to this global pool, which would mean a minimum of existing kernel code would need to change. Then we'd be able to switch users of bio_alloc/bio_clone over to private pools as necessary. -- Kevin Corry kevcorry@xxxxxxxxxx http://evms.sourceforge.net/