On Thu, May 21, 2015 at 3:09 AM, Michel Hollands <MHollands@xxxxxxxxxxx> wrote: > Hello, > > Is it possible to use the rados_clone_range() librados API call with an > erasure coded pool ? The documentation doesn’t mention it’s not possible. > However running the clonedata command from the rados utility (which seems to > be calling radios_clone_range()) gives an error when using a erasuere coded > pool : Nope, not supported. The clone_range command as it exists today allows for arbitrary overwrites, and EC PGs don't allow that. > > # rados -p ecpool clonedata file1 file2 --object-locator file1 > error cloning ecpool>file1 => ecpool>file2: (95) Operation not supported > > Running the same command for a replicated pool works : > > # rados -p testpool clonedata file1 file2 --object-locator file1 > # > > However for this to work both file1 and file2 have to exist which is a bit > of a surprise. The file created seems to be called file2<tab>file1 which is > also a surprise. Is it not possible to create a new file with as name the > given dstname parameter ? You can create objects with any name, but clone_range requires that the objects have the same "locator" (which is what places them on OSDs). If you want to have the OSDs do arbitrary data copies for you there are copy_from commands. I'm not sure if those are exposed via the rados tool or not, though. -Greg _______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com