Linux’s storage system contains many aspects, from filesystems through the VFS layer to low-level device handling. Many of these aspects have very active communities and therefore are the subject of much productive discussion. Nevertheless, some aspects of storage do not always get the attention that they require. Here to help us give these aspects the love and attention that they deserve is Matthew Wilcox, who has been a Linux kernel hacker for more than ten years, most recently with Intel’s Open Source Technology Centre.
The first topic is “Evaluating Linux storage APIs for use in QEMU/KVM” by Anthony Liguori. Anthony’s work with the virtio-pci Linux kernel module (which provides virtual I/O support for guest operating systems running on QEMU/KVM) pointed up some shortcomings of the current userspace storage APIs used for QEMU and KVM. Cleaning up this API would be very helpful, both from the viewpoint of simplicity and from the viewpoint of more-efficient virtualization. We hope that this discussion will help Linux further burnish its “green” credentials, but with full performance and reduced complexity.
The second topic is “Linux Data De-Duplication” by Mingming Cao. At first glance, the large and growing capacities of disk drives would make any de-duplication a waste of CPU time. However, solid-state disks are not quite so large, and de-duplication can reduce the amount of memory required for buffer cache, especially when running multiple similar operating systems on the same system. Mingming will describe different approaches to de-duplication, including some that have been discussed within the btrfs community. Please bring your ideas and experiences!
The third and final topic is “Locking issues on Clustering File Systems” by Coly Li. In contrast to the first two topics, which involve pushing more workloads onto a single system, Coly is working on clustering many systems together to work on a single problem. Clusters require special coordination, which is often provided by a distributed lock manager (DLM, as in the fs/dlm facility in Linux) and a cluster filesystem (such as OCFS2). These coordination facilities bring their own costs, including lock-mastering expense, lock communication cost, DLM compatibility between fs/dlm and OCFS2, deadlock detection, and so on.