Documentation ¶
Overview ¶
Package cephfs contains a set of wrappers around Ceph's libcephfs API.
Index ¶
- Constants
- Variables
- func Version() (int, int, int)
- type AtFlags
- type CephStatVFS
- type CephStatx
- type DType
- type DirEntry
- type DirEntryPlus
- type Directory
- type FallocFlags
- type File
- func (f *File) Close() error
- func (f *File) Fallocate(mode FallocFlags, offset, length int64) error
- func (f *File) Fchmod(mode uint32) error
- func (f *File) Fchown(user uint32, group uint32) error
- func (f *File) Flock(operation LockOp, owner uint64) error
- func (f *File) Fstatx(want StatxMask, flags AtFlags) (*CephStatx, error)
- func (f *File) Fsync(sync SyncChoice) error
- func (f *File) GetXattr(name string) ([]byte, error)
- func (f *File) ListXattr() ([]string, error)
- func (f *File) Preadv(data [][]byte, offset int64) (int, error)
- func (f *File) Pwritev(data [][]byte, offset int64) (int, error)
- func (f *File) Read(buf []byte) (int, error)
- func (f *File) ReadAt(buf []byte, offset int64) (int, error)
- func (f *File) RemoveXattr(name string) error
- func (f *File) Seek(offset int64, whence int) (int64, error)
- func (f *File) SetXattr(name string, value []byte, flags XattrFlags) error
- func (f *File) Sync() error
- func (f *File) Truncate(size int64) error
- func (f *File) Write(buf []byte) (int, error)
- func (f *File) WriteAt(buf []byte, offset int64) (int, error)
- type Inode
- type LockOp
- type MountInfo
- func (mount *MountInfo) ChangeDir(path string) error
- func (mount *MountInfo) Chmod(path string, mode uint32) error
- func (mount *MountInfo) Chown(path string, user uint32, group uint32) error
- func (mount *MountInfo) CurrentDir() string
- func (mount *MountInfo) GetConfigOption(option string) (string, error)
- func (mount *MountInfo) GetFsCid() (int64, error)
- func (mount *MountInfo) GetXattr(path, name string) ([]byte, error)
- func (mount *MountInfo) Init() error
- func (mount *MountInfo) IsMounted() bool
- func (mount *MountInfo) Lchown(path string, user uint32, group uint32) error
- func (mount *MountInfo) LgetXattr(path, name string) ([]byte, error)
- func (mount *MountInfo) Link(oldname, newname string) error
- func (mount *MountInfo) ListXattr(path string) ([]string, error)
- func (mount *MountInfo) LlistXattr(path string) ([]string, error)
- func (mount *MountInfo) LremoveXattr(path, name string) error
- func (mount *MountInfo) LsetXattr(path, name string, value []byte, flags XattrFlags) error
- func (mount *MountInfo) MakeDir(path string, mode uint32) error
- func (mount *MountInfo) MdsCommand(mdsSpec string, args [][]byte) ([]byte, string, error)
- func (mount *MountInfo) MdsCommandWithInputBuffer(mdsSpec string, args [][]byte, inputBuffer []byte) ([]byte, string, error)
- func (mount *MountInfo) Mount() error
- func (mount *MountInfo) MountWithRoot(root string) error
- func (mount *MountInfo) Open(path string, flags int, mode uint32) (*File, error)
- func (mount *MountInfo) OpenDir(path string) (*Directory, error)
- func (mount *MountInfo) ParseConfigArgv(argv []string) error
- func (mount *MountInfo) ParseDefaultConfigEnv() error
- func (mount *MountInfo) ReadConfigFile(path string) error
- func (mount *MountInfo) ReadDefaultConfigFile() error
- func (mount *MountInfo) Readlink(path string) (string, error)
- func (mount *MountInfo) Release() error
- func (mount *MountInfo) RemoveDir(path string) error
- func (mount *MountInfo) RemoveXattr(path, name string) error
- func (mount *MountInfo) Rename(from, to string) error
- func (mount *MountInfo) SetConfigOption(option, value string) error
- func (mount *MountInfo) SetMountPerms(perm *UserPerm) error
- func (mount *MountInfo) SetXattr(path, name string, value []byte, flags XattrFlags) error
- func (mount *MountInfo) StatFS(path string) (*CephStatVFS, error)
- func (mount *MountInfo) Statx(path string, want StatxMask, flags AtFlags) (*CephStatx, error)
- func (mount *MountInfo) Symlink(existing, newname string) error
- func (mount *MountInfo) SyncFs() error
- func (mount *MountInfo) Truncate(path string, size int64) error
- func (mount *MountInfo) Unlink(path string) error
- func (mount *MountInfo) Unmount() error
- type StatxMask
- type SyncChoice
- type Timespec
- type UserPerm
- type XattrFlags
Constants ¶
const ( // DTypeBlk indicates a directory entry is a block device. DTypeBlk = DType(C.DT_BLK) // DTypeChr indicates a directory entry is a character device. DTypeChr = DType(C.DT_CHR) // DTypeDir indicates a directory entry is a directory. DTypeDir = DType(C.DT_DIR) // DTypeFIFO indicates a directory entry is a named pipe (FIFO). DTypeFIFO = DType(C.DT_FIFO) // DTypeLnk indicates a directory entry is a symbolic link. DTypeLnk = DType(C.DT_LNK) // DTypeReg indicates a directory entry is a regular file. DTypeReg = DType(C.DT_REG) // DTypeSock indicates a directory entry is a UNIX domain socket. DTypeSock = DType(C.DT_SOCK) // DTypeUnknown indicates that the file type could not be determined. DTypeUnknown = DType(C.DT_UNKNOWN) )
const ( // SeekSet is used with Seek to set the absolute position in the file. SeekSet = int(C.SEEK_SET) // SeekCur is used with Seek to position the file relative to the current // position. SeekCur = int(C.SEEK_CUR) // SeekEnd is used with Seek to position the file relative to the end. SeekEnd = int(C.SEEK_END) )
const ( // SyncAll will synchronize both data and metadata. SyncAll = SyncChoice(0) // SyncDataOnly will synchronize only data. SyncDataOnly = SyncChoice(1) )
const ( // FallocNoFlag means default option. FallocNoFlag = FallocFlags(0) // FallocFlKeepSize specifies that the file size will not be changed. FallocFlKeepSize = FallocFlags(C.FALLOC_FL_KEEP_SIZE) // FallocFlPunchHole specifies that the operation is to deallocate // space and zero the byte range. FallocFlPunchHole = FallocFlags(C.FALLOC_FL_PUNCH_HOLE) )
const ( // LockSH places a shared lock. // More than one process may hold a shared lock for a given file at a given time. LockSH = LockOp(C.LOCK_SH) // LockEX places an exclusive lock. // Only one process may hold an exclusive lock for a given file at a given time. LockEX = LockOp(C.LOCK_EX) // LockUN removes and existing lock held by this process. LockUN = LockOp(C.LOCK_UN) // LockNB can be ORed with any of the above to make a nonblocking call. LockNB = LockOp(C.LOCK_NB) )
const ( // XattrDefault specifies that set-xattr calls use the default behavior of // creating or updating an xattr. XattrDefault = XattrFlags(0) // XattrCreate specifies that set-xattr calls only set new xattrs. XattrCreate = XattrFlags(C.XATTR_CREATE) // XattrReplace specifies that set-xattr calls only replace existing xattr // values. XattrReplace = XattrFlags(C.XATTR_REPLACE) )
const ( // StatxMode requests the mode value be filled in. StatxMode = StatxMask(C.CEPH_STATX_MODE) // StatxNlink requests the nlink value be filled in. StatxNlink = StatxMask(C.CEPH_STATX_NLINK) // StatxUid requests the uid value be filled in. StatxUid = StatxMask(C.CEPH_STATX_UID) // StatxRdev requests the rdev value be filled in. StatxRdev = StatxMask(C.CEPH_STATX_RDEV) // StatxAtime requests the access-time value be filled in. StatxAtime = StatxMask(C.CEPH_STATX_ATIME) // StatxMtime requests the modified-time value be filled in. StatxMtime = StatxMask(C.CEPH_STATX_MTIME) // StatxIno requests the inode be filled in. StatxIno = StatxMask(C.CEPH_STATX_INO) // StatxSize requests the size value be filled in. StatxSize = StatxMask(C.CEPH_STATX_SIZE) // StatxBlocks requests the blocks value be filled in. StatxBlocks = StatxMask(C.CEPH_STATX_BLOCKS) // StatxBasicStats requests all the fields that are part of a // traditional stat call. StatxBasicStats = StatxMask(C.CEPH_STATX_BASIC_STATS) // StatxBtime requests the birth-time value be filled in. StatxBtime = StatxMask(C.CEPH_STATX_BTIME) // StatxVersion requests the version value be filled in. StatxVersion = StatxMask(C.CEPH_STATX_VERSION) // StatxAllStats requests all known stat values be filled in. StatxAllStats = StatxMask(C.CEPH_STATX_ALL_STATS) )
const ( // AtNoAttrSync requests that the stat call only fetch locally-cached // values if possible, avoiding round trips to a back-end server. AtNoAttrSync = AtFlags(C.AT_NO_ATTR_SYNC) // AtSymlinkNofollow indicates the call should not follow symlinks // but operate on the symlink itself. AtSymlinkNofollow = AtFlags(C.AT_SYMLINK_NOFOLLOW) )
const ( // ErrNotConnected may be returned when client is not connected // to a cluster. ErrNotConnected = cephFSError(-C.ENOTCONN) )
Variables ¶
var ( // ErrEmptyArgument may be returned if a function argument is passed // a zero-length slice or map. ErrEmptyArgument = errors.New("Argument must contain at least one item") )
Functions ¶
Types ¶
type AtFlags ¶ added in v0.4.0
type AtFlags uint
AtFlags represent flags to be passed to calls that control how files are used or referenced. For example, not following symlinks.
type CephStatVFS ¶ added in v0.5.0
type CephStatVFS struct { // Bsize reports the file system's block size. Bsize int64 // Fragment reports the file system's fragment size. Frsize int64 // Blocks reports the number of blocks in the file system. Blocks uint64 // Bfree reports the number of free blocks. Bfree uint64 // Bavail reports the number of free blocks for unprivileged users. Bavail uint64 // Files reports the number of inodes in the file system. Files uint64 // Ffree reports the number of free indoes. Ffree uint64 // Favail reports the number of free indoes for unprivileged users. Favail uint64 // Fsid reports the file system ID number. Fsid int64 // Flag reports the file system mount flags. Flag int64 // Namemax reports the maximum file name length. Namemax int64 }
CephStatVFS instances are returned from the StatFS call. It reports file-system wide statistics.
type CephStatx ¶ added in v0.4.0
type CephStatx struct { // Mask is a bitmask indicating what fields have been set. Mask StatxMask // Blksize represents the file system's block size. Blksize uint32 // Nlink is the number of links for the file. Nlink uint32 // Uid (user id) value for the file. Uid uint32 // Gid (group id) value for the file. Gid uint32 // Mode is the file's type and mode value. Mode uint16 // Inode value for the file. Inode Inode // Size of the file in bytes. Size uint64 // Blocks indicates the number of blocks allocated to the file. Blocks uint64 // Dev describes the device containing this file system. Dev uint64 // Rdev describes the device of this file, if the file is a device. Rdev uint64 // Atime is the access time of this file. Atime Timespec // Ctime is the status change time of this file. Ctime Timespec // Mtime is the modification time of this file. Mtime Timespec // Btime is the creation (birth) time of this file. Btime Timespec // Version value for the file. Version uint64 }
CephStatx instances are returned by extended stat (statx) calls. Note that CephStatx results are similar to but not identical to (Linux) system statx results.
type DType ¶ added in v0.4.0
type DType uint8
DType values are used to determine, when possible, the file type of a directory entry.
type DirEntry ¶ added in v0.3.0
type DirEntry struct {
// contains filtered or unexported fields
}
DirEntry represents an entry within a directory.
func (*DirEntry) DType ¶ added in v0.4.0
DType returns the Directory-entry's Type, indicating if it is a regular file, directory, etc. DType may be unknown and thus require an additional call (stat for example) if Unknown.
type DirEntryPlus ¶ added in v0.4.0
type DirEntryPlus struct { DirEntry // contains filtered or unexported fields }
DirEntryPlus is a DirEntry plus additional data (stat) for an entry within a directory.
func (*DirEntryPlus) Statx ¶ added in v0.4.0
func (d *DirEntryPlus) Statx() *CephStatx
Statx returns cached stat metadata for the directory entry. This call does not incur an actual file system stat.
type Directory ¶ added in v0.3.0
type Directory struct {
// contains filtered or unexported fields
}
Directory represents an open directory handle.
func (*Directory) Close ¶ added in v0.3.0
Close the open directory handle.
Implements:
int ceph_closedir(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp);
func (*Directory) ReadDir ¶ added in v0.3.0
ReadDir reads a single directory entry from the open Directory. A nil DirEntry pointer will be returned when the Directory stream has been exhausted.
Implements:
int ceph_readdir_r(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp, struct dirent *de);
func (*Directory) ReadDirPlus ¶ added in v0.4.0
func (dir *Directory) ReadDirPlus( want StatxMask, flags AtFlags) (*DirEntryPlus, error)
ReadDirPlus reads a single directory entry and stat information from the open Directory. A nil DirEntryPlus pointer will be returned when the Directory stream has been exhausted. See Statx for a description of the wants and flags parameters.
Implements:
int ceph_readdirplus_r(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp, struct dirent *de, struct ceph_statx *stx, unsigned want, unsigned flags, struct Inode **out);
type FallocFlags ¶ added in v0.4.0
type FallocFlags int
FallocFlags represent flags which determine the operation to be performed on the given range. CephFS supports only following two flags.
type File ¶ added in v0.4.0
type File struct {
// contains filtered or unexported fields
}
File represents an open file descriptor in cephfs.
func (*File) Close ¶ added in v0.4.0
Close the file.
Implements:
int ceph_close(struct ceph_mount_info *cmount, int fd);
func (*File) Fallocate ¶ added in v0.4.0
func (f *File) Fallocate(mode FallocFlags, offset, length int64) error
Fallocate preallocates or releases disk space for the file for the given byte range, the flags determine the operation to be performed on the given range.
Implements:
int ceph_fallocate(struct ceph_mount_info *cmount, int fd, int mode, int64_t offset, int64_t length);
func (*File) Fchmod ¶ added in v0.4.0
Fchmod changes the mode bits (permissions) of a file.
Implements:
int ceph_fchmod(struct ceph_mount_info *cmount, int fd, mode_t mode);
func (*File) Fchown ¶ added in v0.4.0
Fchown changes the ownership of a file.
Implements:
int ceph_fchown(struct ceph_mount_info *cmount, int fd, int uid, int gid);
func (*File) Flock ¶ added in v0.4.0
Flock applies or removes an advisory lock on an open file. Param owner is the user-supplied identifier for the owner of the lock, must be an arbitrary integer.
Implements:
int ceph_flock(struct ceph_mount_info *cmount, int fd, int operation, uint64_t owner);
func (*File) Fstatx ¶ added in v0.4.0
Fstatx returns information about an open file.
Implements:
int ceph_fstatx(struct ceph_mount_info *cmount, int fd, struct ceph_statx *stx, unsigned int want, unsigned int flags);
func (*File) Fsync ¶ added in v0.4.0
func (f *File) Fsync(sync SyncChoice) error
Fsync ensures the file content that may be cached is committed to stable storage. Pass SyncAll to have this call behave like standard fsync and synchronize all data and metadata. Pass SyncDataOnly to have this call behave more like fdatasync (on linux).
Implements:
int ceph_fsync(struct ceph_mount_info *cmount, int fd, int syncdataonly);
func (*File) GetXattr ¶ added in v0.5.0
GetXattr gets an extended attribute from the open file.
Implements:
int ceph_fgetxattr(struct ceph_mount_info *cmount, int fd, const char *name, void *value, size_t size);
func (*File) ListXattr ¶ added in v0.5.0
ListXattr returns a slice containing strings for the name of each xattr set on the file.
Implements:
int ceph_flistxattr(struct ceph_mount_info *cmount, int fd, char *list, size_t size);
func (*File) Preadv ¶ added in v0.6.0
Preadv will read data from the file, starting at the given offset, into the byte-slice data buffers sequentially. The number of bytes read will be returned. When nothing is left to read from the file the return values will be: 0, io.EOF.
Implements:
int ceph_preadv(struct ceph_mount_info *cmount, int fd, const struct iovec *iov, int iovcnt, int64_t offset);
func (*File) Pwritev ¶ added in v0.6.0
Pwritev writes data from the slice of byte-slice buffers to the file at the specified offset. The number of bytes written is returned.
Implements:
int ceph_pwritev(struct ceph_mount_info *cmount, int fd, const struct iovec *iov, int iovcnt, int64_t offset);
func (*File) Read ¶ added in v0.4.0
Read data from file. Up to len(buf) bytes will be read from the file. The number of bytes read will be returned. When nothing is left to read from the file, Read returns, 0, io.EOF.
func (*File) ReadAt ¶ added in v0.4.0
ReadAt will read data from the file starting at the given offset. Up to len(buf) bytes will be read from the file. The number of bytes read will be returned. When nothing is left to read from the file, ReadAt returns, 0, io.EOF.
func (*File) RemoveXattr ¶ added in v0.5.0
RemoveXattr removes the named xattr from the open file.
Implements:
int ceph_fremovexattr(struct ceph_mount_info *cmount, int fd, const char *name);
func (*File) Seek ¶ added in v0.4.0
Seek will reposition the file stream based on the given offset.
Implements:
int64_t ceph_lseek(struct ceph_mount_info *cmount, int fd, int64_t offset, int whence);
func (*File) SetXattr ¶ added in v0.5.0
func (f *File) SetXattr(name string, value []byte, flags XattrFlags) error
SetXattr sets an extended attribute on the open file.
NOTE: Attempting to set an xattr value with an empty value may cause the xattr to be unset on some older versions of ceph. Please refer to https://tracker.ceph.com/issues/46084
Implements:
int ceph_fsetxattr(struct ceph_mount_info *cmount, int fd, const char *name, const void *value, size_t size, int flags);
func (*File) Sync ¶ added in v0.4.0
Sync ensures the file content that may be cached is committed to stable storage. Sync behaves like Go's os package File.Sync function.
func (*File) Truncate ¶ added in v0.7.0
Truncate sets the size of the open file. NOTE: In some versions of ceph a bug exists where calling ftruncate on a file open for read-only is permitted. The go-ceph wrapper does no additional checking and will inherit the issue on affected versions of ceph. Please refer to the following issue for details: https://tracker.ceph.com/issues/48202
Implements:
int ceph_ftruncate(struct ceph_mount_info *cmount, int fd, int64_t size);
type LockOp ¶ added in v0.4.0
type LockOp int
LockOp determines operations/type of locks which can be applied on a file.
type MountInfo ¶
type MountInfo struct {
// contains filtered or unexported fields
}
MountInfo exports ceph's ceph_mount_info from libcephfs.cc
func CreateFromRados ¶
CreateFromRados creates a mount handle using an existing rados cluster connection.
Implements:
int ceph_create_from_rados(struct ceph_mount_info **cmount, rados_t cluster);
func CreateMount ¶
CreateMount creates a mount handle for interacting with Ceph.
func CreateMountWithId ¶
CreateMountWithId creates a mount handle for interacting with Ceph. The caller can specify a unique id that will identify this client.
func (*MountInfo) CurrentDir ¶
CurrentDir gets the current working directory.
func (*MountInfo) GetConfigOption ¶ added in v0.3.0
GetConfigOption returns the value of the Ceph configuration option identified by the given name.
Implements:
int ceph_conf_get(struct ceph_mount_info *cmount, const char *option, char *buf, size_t len);
func (*MountInfo) GetFsCid ¶ added in v0.3.0
GetFsCid returns the cluster ID for a mounted ceph file system. If the object does not refer to a mounted file system, an error will be returned.
Note:
Only supported in Ceph Nautilus and newer.
Implements:
int64_t ceph_get_fs_cid(struct ceph_mount_info *cmount);
func (*MountInfo) GetXattr ¶ added in v0.5.0
GetXattr gets an extended attribute from the file at the supplied path.
Implements:
int ceph_getxattr(struct ceph_mount_info *cmount, const char *path, const char *name, void *value, size_t size);
func (*MountInfo) Init ¶ added in v0.4.0
Init the file system client without actually mounting the file system.
Implements:
int ceph_init(struct ceph_mount_info *cmount);
func (*MountInfo) Lchown ¶ added in v0.10.0
Lchown changes the ownership of a file/directory/etc without following symbolic links
func (*MountInfo) LgetXattr ¶ added in v0.5.0
LgetXattr gets an extended attribute from the file at the supplied path.
Implements:
int ceph_lgetxattr(struct ceph_mount_info *cmount, const char *path, const char *name, void *value, size_t size);
func (*MountInfo) Link ¶ added in v0.4.0
Link creates a new link to an existing file.
Implements:
int ceph_link (struct ceph_mount_info *cmount, const char *existing, const char *newname);
func (*MountInfo) ListXattr ¶ added in v0.5.0
ListXattr returns a slice containing strings for the name of each xattr set on the file at the supplied path.
Implements:
int ceph_listxattr(struct ceph_mount_info *cmount, const char *path, char *list, size_t size);
func (*MountInfo) LlistXattr ¶ added in v0.5.0
LlistXattr returns a slice containing strings for the name of each xattr set on the file at the supplied path.
Implements:
int ceph_llistxattr(struct ceph_mount_info *cmount, const char *path, char *list, size_t size);
func (*MountInfo) LremoveXattr ¶ added in v0.5.0
LremoveXattr removes the named xattr from the open file.
Implements:
int ceph_lremovexattr(struct ceph_mount_info *cmount, const char *path, const char *name);
func (*MountInfo) LsetXattr ¶ added in v0.5.0
func (mount *MountInfo) LsetXattr(path, name string, value []byte, flags XattrFlags) error
LsetXattr sets an extended attribute on the file at the supplied path.
NOTE: Attempting to set an xattr value with an empty value may cause the xattr to be unset. Please refer to https://tracker.ceph.com/issues/46084
Implements:
int ceph_lsetxattr(struct ceph_mount_info *cmount, const char *path, const char *name, const void *value, size_t size, int flags);
func (*MountInfo) MdsCommand ¶
MdsCommand sends commands to the specified MDS.
func (*MountInfo) MdsCommandWithInputBuffer ¶
func (mount *MountInfo) MdsCommandWithInputBuffer(mdsSpec string, args [][]byte, inputBuffer []byte) ([]byte, string, error)
MdsCommandWithInputBuffer sends commands to the specified MDS, with an input buffer.
func (*MountInfo) Mount ¶
Mount the file system, establishing a connection capable of I/O.
Implements:
int ceph_mount(struct ceph_mount_info *cmount, const char *root);
func (*MountInfo) MountWithRoot ¶ added in v0.3.0
MountWithRoot mounts the file system using the path provided for the root of the mount. This establishes a connection capable of I/O.
Implements:
int ceph_mount(struct ceph_mount_info *cmount, const char *root);
func (*MountInfo) Open ¶ added in v0.4.0
Open a file at the given path. The flags are the same os flags as a local open call. Mode is the same mode bits as a local open call.
Implements:
int ceph_open(struct ceph_mount_info *cmount, const char *path, int flags, mode_t mode);
func (*MountInfo) OpenDir ¶ added in v0.3.0
OpenDir returns a new Directory handle open for I/O.
Implements:
int ceph_opendir(struct ceph_mount_info *cmount, const char *name, struct ceph_dir_result **dirpp);
func (*MountInfo) ParseConfigArgv ¶ added in v0.5.0
ParseConfigArgv configures the mount using a unix style command line argument vector.
Implements:
int ceph_conf_parse_argv(struct ceph_mount_info *cmount, int argc, const char **argv);
func (*MountInfo) ParseDefaultConfigEnv ¶ added in v0.5.0
ParseDefaultConfigEnv configures the mount from the default Ceph environment variable CEPH_ARGS.
Implements:
int ceph_conf_parse_env(struct ceph_mount_info *cmount, const char *var);
func (*MountInfo) ReadConfigFile ¶ added in v0.11.0
ReadConfigFile loads the ceph configuration from the specified config file.
Implements:
int ceph_conf_read_file(struct ceph_mount_info *cmount, const char *path_list);
func (*MountInfo) ReadDefaultConfigFile ¶
ReadDefaultConfigFile loads the ceph configuration from the default config file.
Implements:
int ceph_conf_read_file(struct ceph_mount_info *cmount, const char *path_list);
func (*MountInfo) Readlink ¶ added in v0.4.0
Readlink returns the value of a symbolic link.
Implements:
int ceph_readlink(struct ceph_mount_info *cmount, const char *path, char *buf, int64_t size);
func (*MountInfo) Release ¶
Release destroys the mount handle.
Implements:
int ceph_release(struct ceph_mount_info *cmount);
func (*MountInfo) RemoveXattr ¶ added in v0.5.0
RemoveXattr removes the named xattr from the open file.
Implements:
int ceph_removexattr(struct ceph_mount_info *cmount, const char *path, const char *name);
func (*MountInfo) Rename ¶ added in v0.4.0
Rename a file or directory.
Implements:
int ceph_rename(struct ceph_mount_info *cmount, const char *from, const char *to);
func (*MountInfo) SetConfigOption ¶ added in v0.3.0
SetConfigOption sets the value of the configuration option identified by the given name.
Implements:
int ceph_conf_set(struct ceph_mount_info *cmount, const char *option, const char *value);
func (*MountInfo) SetMountPerms ¶ added in v0.4.0
SetMountPerms applies the given UserPerm to the mount object, which it will then use to define the connection's ownership credentials. This function must be called after Init but before Mount.
Implements:
int ceph_mount_perms_set(struct ceph_mount_info *cmount, UserPerm *perm);
func (*MountInfo) SetXattr ¶ added in v0.5.0
func (mount *MountInfo) SetXattr(path, name string, value []byte, flags XattrFlags) error
SetXattr sets an extended attribute on the file at the supplied path.
NOTE: Attempting to set an xattr value with an empty value may cause the xattr to be unset. Please refer to https://tracker.ceph.com/issues/46084
Implements:
int ceph_setxattr(struct ceph_mount_info *cmount, const char *path, const char *name, const void *value, size_t size, int flags);
func (*MountInfo) StatFS ¶ added in v0.5.0
func (mount *MountInfo) StatFS(path string) (*CephStatVFS, error)
StatFS returns file system wide statistics. NOTE: Many of the statistics fields reported by ceph are not filled in with useful values.
Implements:
int ceph_statfs(struct ceph_mount_info *cmount, const char *path, struct statvfs *stbuf);
func (*MountInfo) Statx ¶ added in v0.4.0
Statx returns information about a file/directory.
Implements:
int ceph_statx(struct ceph_mount_info *cmount, const char *path, struct ceph_statx *stx, unsigned int want, unsigned int flags);
func (*MountInfo) Symlink ¶ added in v0.4.0
Symlink creates a symbolic link to an existing path.
Implements:
int ceph_symlink(struct ceph_mount_info *cmount, const char *existing, const char *newname);
func (*MountInfo) Truncate ¶ added in v0.7.0
Truncate sets the size of the specified file.
Implements:
int ceph_truncate(struct ceph_mount_info *cmount, const char *path, int64_t size);
type StatxMask ¶ added in v0.4.0
type StatxMask uint32
StatxMask values contain bit-flags indicating what data should be populated by a statx-type call.
type SyncChoice ¶ added in v0.4.0
type SyncChoice int
SyncChoice is used to control how metadata and/or data is sync'ed to the file system.
type UserPerm ¶ added in v0.4.0
type UserPerm struct {
// contains filtered or unexported fields
}
UserPerm types may be used to get or change the credentials used by the connection or some operations.
func NewUserPerm ¶ added in v0.4.0
NewUserPerm creates a UserPerm pointer and the underlying ceph resources.
Implements:
UserPerm *ceph_userperm_new(uid_t uid, gid_t gid, int ngids, gid_t *gidlist);
type XattrFlags ¶ added in v0.5.0
type XattrFlags int
XattrFlags are used to control the behavior of set-xattr calls.