Operation

Enum Operation 

Source
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

Fields

§name: &'a str

The directory name to look up

§

Forget

FUSE_FORGET = 2

Fields

§arg: &'a FuseForgetIn

The number of lookups to forget

§

GetAttr

FUSE_GETATTR = 3

§

SetAttr

FUSE_SETATTR = 4

Fields

§arg: &'a FuseSetAttrIn

The attributes to be set

FUSE_READLINK = 5

FUSE_SYMLINK = 6

Fields

§name: &'a str

The link name to create

§link: &'a str

The contents of the symbolic link

§

MkNod

FUSE_MKNOD = 8

Fields

§arg: &'a FuseMkNodIn

The FUSE mknod request

§name: &'a str

The file name to create

§

MkDir

FUSE_MKDIR = 9

Fields

§arg: &'a FuseMkDirIn

The FUSE mkdir request input

§name: &'a str

The directory name to create

FUSE_UNLINK = 10

Fields

§name: &'a str

The file name to remove

§

RmDir

FUSE_RMDIR = 11

Fields

§name: &'a str

The directory name to remove

§

Rename

FUSE_RENAME = 12

Fields

§arg: &'a FuseRenameIn

The FUSE rename request

§oldname: &'a str

The old name

§newname: &'a str

The new name

FUSE_LINK = 13

Fields

§arg: &'a FuseLinkIn

The FUSE link request

§name: &'a str

The new name

§

Open

FUSE_OPEN = 14

Fields

§arg: &'a FuseOpenIn

The FUSE open request

§

Read

FUSE_READ = 15

Fields

§arg: &'a FuseReadIn

The FUSE read request

§

Write

FUSE_WRITE = 16

Fields

§arg: &'a FuseWriteIn

The FUSE write request

§data: &'a [u8]

The FUSE write request data

§

StatFs

FUSE_STATFS = 17

§

Release

FUSE_RELEASE = 18

Fields

§arg: &'a FuseReleaseIn

The FUSE release request

§

FSync

FUSE_FSYNC = 20

Fields

§arg: &'a FuseFSyncIn

The FUSE fsync request

§

SetXAttr

FUSE_SETXATTR = 21

Fields

§arg: &'a FuseSetXAttrIn

The FUSE set extended attribute request

§name: &'a str

The extended attribute name

§value: &'a [u8]

The extended attribute value

§

GetXAttr

FUSE_GETXATTR = 22

Fields

§arg: &'a FuseGetXAttrIn

The FUSE get extended attribute request

§name: &'a str

The extended attribute name

§

ListXAttr

FUSE_LISTXATTR = 23

Fields

§arg: &'a FuseGetXAttrIn

The FUSE list extended attribute request

§

RemoveXAttr

FUSE_REMOVEXATTR = 24

Fields

§name: &'a str

The name of the extended attribute to remove

§

Flush

FUSE_FLUSH = 25

Fields

§arg: &'a FuseFlushIn

The FUSE flush request

§

Init

FUSE_INIT = 26

Fields

§arg: &'a FuseInitIn

The FUSE init request

§

OpenDir

FUSE_OPENDIR = 27

Fields

§arg: &'a FuseOpenIn

The FUSE open directory request

§

ReadDir

FUSE_READDIR = 28

Fields

§arg: &'a FuseReadIn

The FUSE read directory request

§

ReleaseDir

FUSE_RELEASEDIR = 29

Fields

§arg: &'a FuseReleaseIn

The FUSE release directory request

§

FSyncDir

FUSE_FSYNCDIR = 30

Fields

§arg: &'a FuseFSyncIn

The FUSE fsync directory request

§

GetLk

FUSE_GETLK = 31

Fields

§arg: &'a FuseLockIn

The FUSE get lock request

§

SetLk

FUSE_SETLK = 32

Fields

§arg: &'a FuseLockIn

The FUSE set lock request

§

SetLkW

FUSE_SETLKW = 33

Fields

§arg: &'a FuseLockIn

The FUSE set lock wait request

§

Access

FUSE_ACCESS = 34

Fields

§arg: &'a FuseAccessIn

The FUSE access request

§

Create

FUSE_CREATE = 35

Fields

§arg: &'a FuseCreateIn

The FUSE create request

§name: &'a str

The file name to create

§

Interrupt

FUSE_INTERRUPT = 36

Fields

§arg: &'a FuseInterruptIn

The FUSE interrupt request

§

BMap

FUSE_BMAP = 37

Fields

§arg: &'a FuseBMapIn

The FUSE bmap request

§

Destroy

FUSE_DESTROY = 38

§

IoCtl

FUSE_IOCTL = 39

Fields

§arg: &'a FuseIoCtlIn

The FUSE ioctl request

§data: &'a [u8]

The ioctl request data

§

Poll

FUSE_POLL = 40

Fields

§arg: &'a FusePollIn

The FUSE poll request

§

NotifyReply

FUSE_NOTIFY_REPLY = 41

Fields

§data: &'a [u8]

FUSE notify reply data

§

BatchForget

FUSE_BATCH_FORGET = 42

Fields

§arg: &'a FuseBatchForgetIn

The FUSE batch forget request

§nodes: &'a [FuseForgetOne]

The slice of nodes to forget

§

FAllocate

FUSE_FALLOCATE = 43

Fields

§arg: &'a FuseFAllocateIn

The FUSE fallocate request

§

ReadDirPlus

FUSE_READDIRPLUS = 44,

Fields

§arg: &'a FuseReadIn

The 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 FuseRename2In

The FUSE rename2 request

§oldname: &'a str

The old file name

§newname: &'a str

The new file name

§

LSeek

FUSE_LSEEK = 46,

Fields

§arg: &'a FuseLSeekIn

The FUSE lseek request

§

CopyFileRange

FUSE_COPY_FILE_RANGE = 47,

Fields

§arg: &'a FuseCopyFileRangeIn

The FUSE copy file range request

§

CuseInit

CUSE_INIT = 4096

Fields

§arg: &'a FuseInitIn

The CUSE init request

Trait Implementations§

Source§

impl<'a> Debug for Operation<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Operation<'_>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Format FUSE operation to display

Auto Trait Implementations§

§

impl<'a> Freeze for Operation<'a>

§

impl<'a> RefUnwindSafe for Operation<'a>

§

impl<'a> Send for Operation<'a>

§

impl<'a> Sync for Operation<'a>

§

impl<'a> Unpin for Operation<'a>

§

impl<'a> UnwindSafe for Operation<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<U> Cast for U

Source§

fn cast<T>(self) -> T
where T: TryFrom<Self>, Self: Sized + Display + Copy,

Performs the conversion.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more