Looks like it is a bug:
Features are parsed and set here:
https://github.com/ceph/ceph/blob/master/src/rbd.cc#L3235
format_specified is forced to true here:
https://github.com/ceph/ceph/blob/master/src/rbd.cc#L3268
Error is produced here:
https://github.com/ceph/ceph/blob/master/src/rbd.cc#L3449
I am trying to pass deep-flatten during clone creation and got this:
rbd clone --image-feature deep-flatten d0@s0 d1
rbd: image format can only be set when creating or importing an image
On Fri, Oct 23, 2015 at 6:27 AM, Jason Dillaman wrote:
>> After reading and understanding your mail, i moved
> After reading and understanding your mail, i moved on to do some experiments
> regarding deep flatten. some questions showed up:
> here is my experiement:
> ceph version I used: ceph -v output:
> ceph version 9.1.0-299-g89b2b9b
> 1. create a separate pool for test:
> rados mkpool pool100
> 2. cr
The flatten operation is implemented by writing zero bytes to each object
within a clone image. This causes librbd to copyup the backing object from the
parent image to the clone image. A copyup is just a guarded write that will
not write to the clone if the object already exists (i.e. new dat