Patchwork [01/26] qemu: Document GlusterFS block driver usage

mail settings
Submitter Kevin Wolf
Date Nov. 14, 2012, 6:47 p.m.
Message ID <>
Download mbox | patch
Permalink /patch/198974/
State New
Headers show


Kevin Wolf - Nov. 14, 2012, 6:47 p.m.
From: Bharata B Rao <>

Signed-off-by: Bharata B Rao <>
Signed-off-by: Kevin Wolf <>
 qemu-doc.texi   |   49 +++++++++++++++++++++++++++++++++++++++++++++++++
 qemu-options.hx |   17 +++++++++++++++++
 2 files changed, 66 insertions(+), 0 deletions(-)


diff --git a/qemu-doc.texi b/qemu-doc.texi
index d8fb2de..6ff309d 100644
--- a/qemu-doc.texi
+++ b/qemu-doc.texi
@@ -421,6 +421,7 @@  snapshots.
 * disk_images_nbd::           NBD access
 * disk_images_sheepdog::      Sheepdog disk images
 * disk_images_iscsi::         iSCSI LUNs
+* disk_images_gluster::       GlusterFS disk images
 @end menu
 @node disk_images_quickstart
@@ -814,7 +815,55 @@  qemu-system-i386 -iscsi initiator-name=iqn.qemu.test:my-initiator \
     -cdrom iscsi://
 @end example
+@node disk_images_gluster
+@subsection GlusterFS disk images
+GlusterFS is an user space distributed file system.
+You can boot from the GlusterFS disk image with the command:
+qemu-system-x86_64 -drive file=gluster[+@var{transport}]://[@var{server}[:@var{port}]]/@var{volname}/@var{image}[?socket=...]
+@end example
+@var{gluster} is the protocol.
+@var{transport} specifies the transport type used to connect to gluster
+management daemon (glusterd). Valid transport types are
+tcp, unix and rdma. If a transport type isn't specified, then tcp
+type is assumed.
+@var{server} specifies the server where the volume file specification for
+the given volume resides. This can be either hostname, ipv4 address
+or ipv6 address. ipv6 address needs to be within square brackets [ ].
+If transport type is unix, then @var{server} field should not be specifed.
+Instead @var{socket} field needs to be populated with the path to unix domain
+@var{port} is the port number on which glusterd is listening. This is optional
+and if not specified, QEMU will send 0 which will make gluster to use the
+default port. If the transport type is unix, then @var{port} should not be
+@var{volname} is the name of the gluster volume which contains the disk image.
+@var{image} is the path to the actual disk image that resides on gluster volume.
+You can create a GlusterFS disk image with the command:
+qemu-img create gluster://@var{server}/@var{volname}/@var{image} @var{size}
+@end example
+qemu-system-x86_64 -drive file=gluster://
+qemu-system-x86_64 -drive file=gluster+tcp://
+qemu-system-x86_64 -drive file=gluster+tcp://
+qemu-system-x86_64 -drive file=gluster+tcp://[1:2:3:4:5:6:7:8]/testvol/dir/a.img
+qemu-system-x86_64 -drive file=gluster+tcp://[1:2:3:4:5:6:7:8]:24007/testvol/dir/a.img
+qemu-system-x86_64 -drive file=gluster+tcp://
+qemu-system-x86_64 -drive file=gluster+unix:///testvol/dir/a.img?socket=/tmp/glusterd.socket
+qemu-system-x86_64 -drive file=gluster+rdma://
+@end example
 @node pcsys_network
 @section Network emulation
diff --git a/qemu-options.hx b/qemu-options.hx
index fe8f15c..06aa1ae 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -2054,6 +2054,23 @@  qemu-system-i386 --drive file=sheepdog:
 See also @url{http://}.
+@item GlusterFS
+GlusterFS is an user space distributed file system.
+QEMU supports the use of GlusterFS volumes for hosting VM disk images using
+TCP, Unix Domain Sockets and RDMA transport protocols.
+Syntax for specifying a VM disk image on GlusterFS volume is
+@end example
+qemu-system-x86_84 --drive file=gluster://
+@end example
+See also @url{}.
 @end table