On Mon, Aug 22, 2011 at 02:29:00PM -0500, Anthony Liguori wrote: > On 08/22/2011 12:06 PM, Saggi Mizrahi wrote: > >libvdisk is a library that packages qemu's handling of disk images. This > >allows for other programs to link to it and get access to qemu image > >file abstractions. > > > >To use install the lib and #include<vdisk/block.h> > >all the bdrv_* functions work as expected. > > > >Signed-off-by: Saggi Mizrahi<smizr...@redhat.com> > > It's a good idea in principle but the approach is far too naive. > > The block layer needs a good bit of modularization first. Test > cases need to be written, and most importantly, using the library > shouldn't require writing a bunch of dummy functions.
There are also licensing practicalities which can cause us some trouble/pain. For example: > > ###################################################################### > >+# libvdisk > >+ > >+vdisk-obj-y = $(block-obj-y) > >+ > >+vdisk-obj-y += qemu-tool.o qemu-error.o > >+vdisk-obj-y += $(oslib-obj-y) $(trace-obj-y) $(block-obj-y) > >+vdisk-obj-y += $(qobject-obj-y) $(version-obj-y) qemu-timer-common.o $(block-obj-y) pulls in 'aio.o' which is built from aio.c which is licensed "GPLv2 only". So even those many files are BSD licenses, the combined work will be GPLv2-only. Unfortunately ending up with a libqemublock.so which is GPLv2-only is as good as useless for libs/apps since it is incompatible with both LGPLv2(+) and GPLv3. Now in this case aio.c is labelled as Copyright IBM / Anthony, so IBM could likely resolve this licensing to be more widely compatible. This could^H^Hwould become a non-trivial task if we need to look at many files & then also any patches accepted to those files from 3rd parties over the years :-( Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|