One thing should jump out at you immediately: QEMU integration and the block device translator. This will significantly increase the scope of possible use cases for GlusterFS. Previously, for provisioning VMs on GlusterFS, this involved going through the FUSE mount with the GlusterFS client. The native client mount via the FUSE module is great for the scale-out NAS use case – it’s pretty mature and reliable for sharing files and folders and presenting a global namespace regardless of deployment in the cloud, bare metal or providing storage services in a virtualized environment. However, for the use case of hosting and managing VMs, it simply didn’t perform at a level needed when hosting hundreds of VMs on multiple servers. Now, however, with the QEMU integration, we’re bypassing FUSE entirely and going through a new client library, libgfapi. Early reports suggest that for sequential reads and writes, performance improves by between 2x and 3x. This is a significant increase in performance and we’re very excited about it. With enough testing from our user community (hint, hint) we are hoping that this new feature can really expand how GlusterFS is used.

What’s even more noteworthy about this feature is that it wasn’t developed by Red Hat engineers. Engineers working out of the IBM Linux Technology Center approached us last summer about doing this work. IBM engineers developed the necessary pieces in QEMU, Libvirt, as well as the block device translator in GlusterFS. We had long desired to create a client library, and this was just the impetus we needed to move that particular feature up on our priority list.

This marks the first time that a major feature in a new release was contributed from outside our immediate engineering group. This shows how broad our community has grown and demonstrates the global reach of the Gluster community. It is indeed the hallmark of a healthy project.