Hi,
While thinking about the new features for RBD in 4.2 I've stumpled upon
something.
RBD knows something like 'writeback caching' [0] and is enabled by
adding rbd_cache=1 to the disk.
<disk>
<source protocol='rbd' name='cloudstack/uuid'>
<host name='monitor.ceph.XXX.nl' port='6789'/>
</source>
</disk>
Now, if I want to enable RBD caching I'd do:
<disk>
<source protocol='rbd' name='cloudstack/uuid:rbd_cache=1'>
<host name='monitor.ceph.XXX.nl' port='6789'/>
</source>
</disk>
One could say that I'd enable RBD caching, but there could be use cases
where one would prefer data consistency over performance.
Now this is an example for RBD, but it also goes for QCOW2:
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
</disk>
The cache[1] here can be set to writeback, writethrough or none.
Depending on the use-case some people also might want to use write-back
caching here.
Now, I'm just taking caching examples here, but it could also be that
other SANs in the future want other custom properties, we never know.
I'm not so familiar with Xen and VMware, but maybe you also have some
settings you want to control there?
I'd like to be able to set these settings per disk offering if possible,
but otherwise it could be done per pool.
Going through the new storage subsystem I haven't been able to find
anything that fits the needs here.
Ideas?
Wido