mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-25 15:50:20 +00:00
4ccb299fd5
this commit updates the version of go-ceph imported to latest, so we can make use of github.com/ceph/go-ceph/cephfs Signed-off-by: Riya Singhal <rsinghal@redhat.com>
30 lines
592 B
Go
30 lines
592 B
Go
package cephfs
|
|
|
|
/*
|
|
#cgo LDFLAGS: -lcephfs
|
|
#cgo CPPFLAGS: -D_FILE_OFFSET_BITS=64
|
|
#include <stdlib.h>
|
|
#include <cephfs/libcephfs.h>
|
|
*/
|
|
import "C"
|
|
|
|
import (
|
|
"unsafe"
|
|
)
|
|
|
|
// MakeDirs creates multiple directories at once.
|
|
//
|
|
// Implements:
|
|
//
|
|
// int ceph_mkdirs(struct ceph_mount_info *cmount, const char *path, mode_t mode);
|
|
func (mount *MountInfo) MakeDirs(path string, mode uint32) error {
|
|
if err := mount.validate(); err != nil {
|
|
return err
|
|
}
|
|
cPath := C.CString(path)
|
|
defer C.free(unsafe.Pointer(cPath))
|
|
|
|
ret := C.ceph_mkdirs(mount.mount, cPath, C.mode_t(mode))
|
|
return getError(ret)
|
|
}
|