Why does so much virt stuff depend on glusterfs?

Richard W.M. Jones rjones at redhat.com
Tue Jul 23 10:14:24 UTC 2013


On Mon, Jul 22, 2013 at 08:26:18PM -0400, Matthew Miller wrote:
> On Mon, Jul 22, 2013 at 05:17:01PM -0700, Adam Williamson wrote:
> > Today in Absurd Dependency Bingo:
> > >  glusterfs                       x86_64 3.4.0-2.fc19     @updates-testing 4.7 M
> [...]
> > >  qemu-common                     x86_64 2:1.4.2-4.fc19   @updates-testing 624 k
> 
> $ rpm -q --changelog qemu-common
> [...]
> * Wed May 15 2013 Cole Robinson <crobinso at redhat.com> - 2:1.4.1-2
> - Enable gluster support
> 
> And then all the rest just falls out from there because they require qemu.
> 
> 
> > >  vinagre                         x86_64 3.8.2-1.fc19     @side            3.0 M
> 
> (This one requires spice.)
> 
> At 4.7M glusterfs isn't exactly tiny, and is another one of these things
> that's not so useful unless configured (even though that's awesomely easy);
> maybe the libs could be split out?

The problem is that qemu's block layer isn't a stable API with
pluggable / loadable modules.  There's been some talk and even patches
upstream trying making it so (at least, the loadable modules part, the
stable API part will probably never happen).  But it's not done yet.

qemu's internal block API:
http://git.qemu.org/?p=qemu.git;a=blob;f=include/block/block_int.h;h=c6ac871e210ea21f91d799e44a102119048dde54;hb=HEAD#l83

Therefore if you want to use qemu to access, in this case, a glusterfs
cluster, then you have to compile qemu with gluster support, and that
pulls in glusterfs.  We could compile it out, but then no one would be
able to use gluster to store their virtual machines at all.

Not sure if glusterfs could be split into client and server parts
and/or if that would help (only a "client" bit is needed).

There's not a good way around this except a bunch of work in qemu
upstream.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/


More information about the devel mailing list