mirror of
https://github.com/ceph/ceph-csi.git
synced 2025-06-13 10:33:35 +00:00
rebase: update go-ceph to release v0.13.0
This commit update go-ceph to v0.13.0 and change CEPH_VERSION in build.env to pacific. Signed-off-by: Rakshith R <rar@redhat.com>
This commit is contained in:
16
vendor/github.com/ceph/go-ceph/rados/omap.go
generated
vendored
16
vendor/github.com/ceph/go-ceph/rados/omap.go
generated
vendored
@ -99,8 +99,8 @@ type GetOmapStep struct {
|
||||
|
||||
// C returned data:
|
||||
iter C.rados_omap_iter_t
|
||||
more C.uchar
|
||||
rval C.int
|
||||
more *C.uchar
|
||||
rval *C.int
|
||||
|
||||
// internal state:
|
||||
|
||||
@ -116,6 +116,8 @@ func newGetOmapStep(startAfter, filterPrefix string, maxReturn uint64) *GetOmapS
|
||||
maxReturn: maxReturn,
|
||||
cStartAfter: C.CString(startAfter),
|
||||
cFilterPrefix: C.CString(filterPrefix),
|
||||
more: (*C.uchar)(C.malloc(C.sizeof_uchar)),
|
||||
rval: (*C.int)(C.malloc(C.sizeof_int)),
|
||||
}
|
||||
runtime.SetFinalizer(gos, opStepFinalizer)
|
||||
return gos
|
||||
@ -127,8 +129,10 @@ func (gos *GetOmapStep) free() {
|
||||
C.rados_omap_get_end(gos.iter)
|
||||
}
|
||||
gos.iter = nil
|
||||
gos.more = 0
|
||||
gos.rval = 0
|
||||
C.free(unsafe.Pointer(gos.more))
|
||||
gos.more = nil
|
||||
C.free(unsafe.Pointer(gos.rval))
|
||||
gos.rval = nil
|
||||
C.free(unsafe.Pointer(gos.cStartAfter))
|
||||
gos.cStartAfter = nil
|
||||
C.free(unsafe.Pointer(gos.cFilterPrefix))
|
||||
@ -136,7 +140,7 @@ func (gos *GetOmapStep) free() {
|
||||
}
|
||||
|
||||
func (gos *GetOmapStep) update() error {
|
||||
err := getError(gos.rval)
|
||||
err := getError(*gos.rval)
|
||||
gos.canIterate = (err == nil)
|
||||
return err
|
||||
}
|
||||
@ -168,7 +172,7 @@ func (gos *GetOmapStep) Next() (*OmapKeyValue, error) {
|
||||
func (gos *GetOmapStep) More() bool {
|
||||
// tad bit hacky, but go can't automatically convert from
|
||||
// unsigned char to bool
|
||||
return gos.more != 0
|
||||
return *gos.more != 0
|
||||
}
|
||||
|
||||
// removeOmapKeysStep is a write operation step used to track state, especially
|
||||
|
4
vendor/github.com/ceph/go-ceph/rados/read_op.go
generated
vendored
4
vendor/github.com/ceph/go-ceph/rados/read_op.go
generated
vendored
@ -77,8 +77,8 @@ func (r *ReadOp) GetOmapValues(startAfter, filterPrefix string, maxReturn uint64
|
||||
gos.cFilterPrefix,
|
||||
C.uint64_t(gos.maxReturn),
|
||||
&gos.iter,
|
||||
&gos.more,
|
||||
&gos.rval,
|
||||
gos.more,
|
||||
gos.rval,
|
||||
)
|
||||
return gos
|
||||
}
|
||||
|
63
vendor/github.com/ceph/go-ceph/rados/write_op_preview.go
generated
vendored
Normal file
63
vendor/github.com/ceph/go-ceph/rados/write_op_preview.go
generated
vendored
Normal file
@ -0,0 +1,63 @@
|
||||
//go:build ceph_preview
|
||||
// +build ceph_preview
|
||||
|
||||
package rados
|
||||
|
||||
// #cgo LDFLAGS: -lrados
|
||||
// #include <rados/librados.h>
|
||||
// #include <stdlib.h>
|
||||
//
|
||||
import "C"
|
||||
|
||||
import (
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
// WriteOpCmpExtStep holds result of the CmpExt write operation.
|
||||
// Result is valid only after Operate() was called.
|
||||
type WriteOpCmpExtStep struct {
|
||||
// C returned data:
|
||||
prval *C.int
|
||||
|
||||
// Result of the CmpExt write operation.
|
||||
Result int
|
||||
}
|
||||
|
||||
func (s *WriteOpCmpExtStep) update() error {
|
||||
s.Result = int(*s.prval)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *WriteOpCmpExtStep) free() {
|
||||
C.free(unsafe.Pointer(s.prval))
|
||||
s.prval = nil
|
||||
}
|
||||
|
||||
func newWriteOpCmpExtStep() *WriteOpCmpExtStep {
|
||||
return &WriteOpCmpExtStep{
|
||||
prval: (*C.int)(C.malloc(C.sizeof_int)),
|
||||
}
|
||||
}
|
||||
|
||||
// CmpExt ensures that given object range (extent) satisfies comparison.
|
||||
// PREVIEW
|
||||
//
|
||||
// Implements:
|
||||
// void rados_write_op_cmpext(rados_write_op_t write_op,
|
||||
// const char * cmp_buf,
|
||||
// size_t cmp_len,
|
||||
// uint64_t off,
|
||||
// int * prval);
|
||||
func (w *WriteOp) CmpExt(b []byte, offset uint64) *WriteOpCmpExtStep {
|
||||
oe := newWriteStep(b, 0, offset)
|
||||
cmpExtStep := newWriteOpCmpExtStep()
|
||||
w.steps = append(w.steps, oe, cmpExtStep)
|
||||
C.rados_write_op_cmpext(
|
||||
w.op,
|
||||
oe.cBuffer,
|
||||
oe.cDataLen,
|
||||
oe.cOffset,
|
||||
cmpExtStep.prval)
|
||||
|
||||
return cmpExtStep
|
||||
}
|
2
vendor/github.com/ceph/go-ceph/rados/write_step.go
generated
vendored
2
vendor/github.com/ceph/go-ceph/rados/write_step.go
generated
vendored
@ -25,7 +25,7 @@ type writeStep struct {
|
||||
func newWriteStep(b []byte, writeLen, offset uint64) *writeStep {
|
||||
return &writeStep{
|
||||
b: b,
|
||||
cBuffer: (*C.char)(unsafe.Pointer(&b[0])),
|
||||
cBuffer: (*C.char)(unsafe.Pointer(&b[0])), // TODO: must be pinned
|
||||
cDataLen: C.size_t(len(b)),
|
||||
cWriteLen: C.size_t(writeLen),
|
||||
cOffset: C.uint64_t(offset),
|
||||
|
Reference in New Issue
Block a user