mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-10-19 05:39:51 +00:00
23c324898a
go-ceph v0.16.0 contains subvolume metadata APIs and subvolume snapshot metadata APIs. Please note, as the APIs can not be tested in the go-ceph CI, it requires build-tag `ceph_ci_untested`. Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
31 lines
626 B
Go
31 lines
626 B
Go
package rados
|
|
|
|
// #cgo LDFLAGS: -lrados
|
|
// #include <rados/librados.h>
|
|
// #include <stdlib.h>
|
|
//
|
|
import "C"
|
|
|
|
import (
|
|
"unsafe"
|
|
)
|
|
|
|
// SetXattr sets an xattr.
|
|
//
|
|
// Implements:
|
|
// void rados_write_op_setxattr(rados_write_op_t write_op,
|
|
// const char * name,
|
|
// const char * value,
|
|
// size_t value_len)
|
|
func (w *WriteOp) SetXattr(name string, value []byte) {
|
|
cName := C.CString(name)
|
|
defer C.free(unsafe.Pointer(cName))
|
|
|
|
C.rados_write_op_setxattr(
|
|
w.op,
|
|
cName,
|
|
(*C.char)(unsafe.Pointer(&value[0])),
|
|
C.size_t(len(value)),
|
|
)
|
|
}
|