func cephRBDCloneCreate(sourceClusterName string, sourcePoolName string,
	sourceVolumeName string, sourceVolumeType string,
	sourceSnapshotName string, targetPoolName string,
	targetVolumeName string, targetVolumeType string,
	userName string) error {
	_, err := shared.RunCommand(
		"rbd",
		"--id", userName,
		"--cluster", sourceClusterName,
		"--image-feature", "layering",
		"clone",
		fmt.Sprintf("%s/%s_%s@%s", sourcePoolName, sourceVolumeType,
			sourceVolumeName, sourceSnapshotName),
		fmt.Sprintf("%s/%s_%s", targetPoolName, targetVolumeType,
			targetVolumeName))
	if err != nil {
		return err
	}

	return nil
}
func cephRBDCloneCreate(sourceClusterName string, sourcePoolName string,
	sourceVolumeName string, sourceVolumeType string,
	sourceSnapshotName string, targetPoolName string,
	targetVolumeName string, targetVolumeType string,
	userName string) error {
	_, err := shared.RunCommand(
		"rbd",
		"--id", userName,
		"--cluster", sourceClusterName,
		"--image-feature", "layering",
		"clone",
		fmt.Sprintf("%s/%s_%s@%s", sourcePoolName, sourceVolumeType,
			sourceVolumeName, sourceSnapshotName),
		fmt.Sprintf("%s/%s_%s", targetPoolName, targetVolumeType,
			targetVolumeName))
	if err != nil {
		return err
	}

	return nil
}
func cephRBDCloneCreate ( sourceClusterName string , sourcePoolName string , sourceVolumeName string , sourceVolumeType string , sourceSnapshotName string , targetPoolName string , targetVolumeName string , targetVolumeType string , userName string ) error { _ , err := shared . RunCommand ( " " , " " , userName , " " , sourceClusterName , " " , " " , " " , fmt . Sprintf ( " " , sourcePoolName , sourceVolumeType , sourceVolumeName , sourceSnapshotName ) , fmt . Sprintf ( " " , targetPoolName , targetVolumeType , targetVolumeName ) ) if err != nil { return err } return nil }
// cephRBDCloneCreate creates a clone from a protected RBD snapshot
cephRBDCloneCreate creates a clone from a protected RBD snapshot