I'd like to experiment with adding persistent writeback cache to qemu. The use case here is where non-local storage is used (e.g. rbd, ceph) using the qemu drivers, together with a local cache as a file on a much faster locally mounted device, for instance an SSD (possibly replicated). This would I think give a similar performance boost to using an rbd block device plus flashcache/dm-cache/bcache, but without introducing all the context switches and limitations of having to use real block devices. I appreciate it would need to be live migration aware (worst case solution: flush and turn off caching during live migrate), and ideally be capable of replaying a dirty writeback cache in the event the host crashes.
Is there any support for this already? Has anyone worked on this before? If not, would there be any interest in it? -- Alex Bligh