On 06/23/2014 11:07 AM, Trump.Zhang wrote: > Hi, all: > > Currently, there are several filesystem-based drivers in Cinder, such > as nfs, glusterfs, etc. Multiple format of volume other than "raw" can be > potentially supported in these drivers, such as qcow2, raw, sparse, etc. > > However, Cinder does not store the actual format of volume and suppose > all volumes are "raw" format. It will has or already has several problems > as follows: > > 1. For volume migration, the generic migration implementation in Cinder > uses the "dd" command to copy "src" volume to "dest" volume. If the src > volume is "qcow2" format, instance will not get the right data from volume > after the dest volume attached to instance, because the info returned from > Cinder states that the volume's format is "raw" other than "qcow2" > 2. For volume backup, the backup driver also supposes that src volumes > are "raw" format, other format will not be supported > > Indeed, glusterfs driver has used "qemu-img info" command to judge the > format of volume. However, as the comment from Duncan in [1] says, this > auto detection method has many possible error / exploit vectors. Because if > the beginning content of a "raw" volume happens to a "qcow2" disk, auto > detection method will judge this volume to be a "qcow2" volume wrongly. > > I proposed that the "format" info should be added to "admin_metadata" > of volumes, and enforce it on all operations, such as create, copy, migrate > and retype. The "format" will be only set / updated for filesystem-based > drivers, other drivers will not contains this metadata and have a default > "raw" format. > > Any advice? > > [1] https://review.openstack.org/#/c/100529/ >
I agree with the concerns here, and I think storing the creation format is the right idea. Please file a blueprint describing the fix and I'll help review from there. Eric _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev