Пример #1
0
// RemoveSnapshot removes a pool wide snapshot.
func (pool *Pool) RemovePoolSnapshot(snapshotName string) error {
	name := C.CString(snapshotName)
	defer freeString(name)
	ret := C.rados_ioctx_snap_remove(pool.context, name)
	if err := toRadosError(ret); err != nil {
		err.Message = fmt.Sprintf("Unable to remove snapshot %s", snapshotName)
		return err
	}
	return nil
}
Пример #2
0
func (r *RadosIoCtx) SnapRemove(snapname string) error {
	csnapname := C.CString(snapname)
	defer func() {
		C.free(unsafe.Pointer(csnapname))
	}()
	cerr := C.rados_ioctx_snap_remove(*r.ctx, csnapname)
	if cerr < 0 {
		return errors.New("remove snap failed")
	}

	return nil
}