pub enum Operation<'a> {
Show 46 variants
Lookup {
name: &'a str,
},
Forget {
arg: &'a FuseForgetIn,
},
GetAttr,
SetAttr {
arg: &'a FuseSetAttrIn,
},
ReadLink,
SymLink {
name: &'a str,
link: &'a str,
},
MkNod {
arg: &'a FuseMkNodIn,
name: &'a str,
},
MkDir {
arg: &'a FuseMkDirIn,
name: &'a str,
},
Unlink {
name: &'a str,
},
RmDir {
name: &'a str,
},
Rename {
arg: &'a FuseRenameIn,
oldname: &'a str,
newname: &'a str,
},
Link {
arg: &'a FuseLinkIn,
name: &'a str,
},
Open {
arg: &'a FuseOpenIn,
},
Read {
arg: &'a FuseReadIn,
},
Write {
arg: &'a FuseWriteIn,
data: &'a [u8],
},
StatFs,
Release {
arg: &'a FuseReleaseIn,
},
FSync {
arg: &'a FuseFSyncIn,
},
SetXAttr {
arg: &'a FuseSetXAttrIn,
name: &'a str,
value: &'a [u8],
},
GetXAttr {
arg: &'a FuseGetXAttrIn,
name: &'a str,
},
ListXAttr {
arg: &'a FuseGetXAttrIn,
},
RemoveXAttr {
name: &'a str,
},
Flush {
arg: &'a FuseFlushIn,
},
Init {
arg: &'a FuseInitIn,
},
OpenDir {
arg: &'a FuseOpenIn,
},
ReadDir {
arg: &'a FuseReadIn,
},
ReleaseDir {
arg: &'a FuseReleaseIn,
},
FSyncDir {
arg: &'a FuseFSyncIn,
},
GetLk {
arg: &'a FuseLockIn,
},
SetLk {
arg: &'a FuseLockIn,
},
SetLkW {
arg: &'a FuseLockIn,
},
Access {
arg: &'a FuseAccessIn,
},
Create {
arg: &'a FuseCreateIn,
name: &'a str,
},
Interrupt {
arg: &'a FuseInterruptIn,
},
BMap {
arg: &'a FuseBMapIn,
},
Destroy,
IoCtl {
arg: &'a FuseIoCtlIn,
data: &'a [u8],
},
Poll {
arg: &'a FusePollIn,
},
NotifyReply {
data: &'a [u8],
},
BatchForget {
arg: &'a FuseBatchForgetIn,
nodes: &'a [FuseForgetOne],
},
FAllocate {
arg: &'a FuseFAllocateIn,
},
ReadDirPlus {
arg: &'a FuseReadIn,
},
Rename2 {
arg: &'a FuseRename2In,
oldname: &'a str,
newname: &'a str,
},
LSeek {
arg: &'a FuseLSeekIn,
},
CopyFileRange {
arg: &'a FuseCopyFileRangeIn,
},
CuseInit {
arg: &'a FuseInitIn,
},
}Expand description
FUSE operation
Variants§
Lookup
FUSE_LOOKUP = 1
Forget
FUSE_FORGET = 2
Fields
arg: &'a FuseForgetInThe number of lookups to forget
GetAttr
FUSE_GETATTR = 3
SetAttr
FUSE_SETATTR = 4
Fields
arg: &'a FuseSetAttrInThe attributes to be set
ReadLink
FUSE_READLINK = 5
SymLink
FUSE_SYMLINK = 6
MkNod
FUSE_MKNOD = 8
MkDir
FUSE_MKDIR = 9
Unlink
FUSE_UNLINK = 10
RmDir
FUSE_RMDIR = 11
Rename
FUSE_RENAME = 12
Fields
arg: &'a FuseRenameInThe FUSE rename request
Link
FUSE_LINK = 13
Open
FUSE_OPEN = 14
Fields
arg: &'a FuseOpenInThe FUSE open request
Read
FUSE_READ = 15
Fields
arg: &'a FuseReadInThe FUSE read request
Write
FUSE_WRITE = 16
StatFs
FUSE_STATFS = 17
Release
FUSE_RELEASE = 18
Fields
arg: &'a FuseReleaseInThe FUSE release request
FSync
FUSE_FSYNC = 20
Fields
arg: &'a FuseFSyncInThe FUSE fsync request
SetXAttr
FUSE_SETXATTR = 21
Fields
arg: &'a FuseSetXAttrInThe FUSE set extended attribute request
GetXAttr
FUSE_GETXATTR = 22
Fields
arg: &'a FuseGetXAttrInThe FUSE get extended attribute request
ListXAttr
FUSE_LISTXATTR = 23
Fields
arg: &'a FuseGetXAttrInThe FUSE list extended attribute request
RemoveXAttr
FUSE_REMOVEXATTR = 24
Flush
FUSE_FLUSH = 25
Fields
arg: &'a FuseFlushInThe FUSE flush request
Init
FUSE_INIT = 26
Fields
arg: &'a FuseInitInThe FUSE init request
OpenDir
FUSE_OPENDIR = 27
Fields
arg: &'a FuseOpenInThe FUSE open directory request
ReadDir
FUSE_READDIR = 28
Fields
arg: &'a FuseReadInThe FUSE read directory request
ReleaseDir
FUSE_RELEASEDIR = 29
Fields
arg: &'a FuseReleaseInThe FUSE release directory request
FSyncDir
FUSE_FSYNCDIR = 30
Fields
arg: &'a FuseFSyncInThe FUSE fsync directory request
GetLk
FUSE_GETLK = 31
Fields
arg: &'a FuseLockInThe FUSE get lock request
SetLk
FUSE_SETLK = 32
Fields
arg: &'a FuseLockInThe FUSE set lock request
SetLkW
FUSE_SETLKW = 33
Fields
arg: &'a FuseLockInThe FUSE set lock wait request
Access
FUSE_ACCESS = 34
Fields
arg: &'a FuseAccessInThe FUSE access request
Create
FUSE_CREATE = 35
Interrupt
FUSE_INTERRUPT = 36
Fields
arg: &'a FuseInterruptInThe FUSE interrupt request
BMap
FUSE_BMAP = 37
Fields
arg: &'a FuseBMapInThe FUSE bmap request
Destroy
FUSE_DESTROY = 38
IoCtl
FUSE_IOCTL = 39
Poll
FUSE_POLL = 40
Fields
arg: &'a FusePollInThe FUSE poll request
NotifyReply
FUSE_NOTIFY_REPLY = 41
BatchForget
FUSE_BATCH_FORGET = 42
Fields
arg: &'a FuseBatchForgetInThe FUSE batch forget request
nodes: &'a [FuseForgetOne]The slice of nodes to forget
FAllocate
FUSE_FALLOCATE = 43
Fields
arg: &'a FuseFAllocateInThe FUSE fallocate request
ReadDirPlus
FUSE_READDIRPLUS = 44,
Fields
arg: &'a FuseReadInThe FUSE read directory plus request
Rename2
FUSE_RENAME2 = 45,
Available when the protocol version is greater than 7.22. This is checked by the kernel so that won’t receive such a request.
https://github.com/torvalds/linux/blob/8f6f76a6a29f36d2f3e4510d0bde5046672f6924/fs/fuse/dir.c#L1077C2-L1088C3
Fields
arg: &'a FuseRename2InThe FUSE rename2 request
LSeek
FUSE_LSEEK = 46,
Fields
arg: &'a FuseLSeekInThe FUSE lseek request
CopyFileRange
FUSE_COPY_FILE_RANGE = 47,
Fields
arg: &'a FuseCopyFileRangeInThe FUSE copy file range request
CuseInit
CUSE_INIT = 4096
Fields
arg: &'a FuseInitInThe CUSE init request