Struct fuse_backend_rs::api::filesystem::Entry
source · pub struct Entry {
pub inode: u64,
pub generation: u64,
pub attr: stat64,
pub attr_flags: u32,
pub attr_timeout: Duration,
pub entry_timeout: Duration,
}
Expand description
Information about a path in the filesystem.
Fields§
§inode: u64
An Inode
that uniquely identifies this path. During lookup
, setting this to 0
means a
negative entry. Returning ENOENT
also means a negative entry but setting this to 0
allows the kernel to cache the negative result for entry_timeout
. The value should be
produced by converting a FileSystem::Inode
into a u64
.
generation: u64
The generation number for this Entry
. Typically used for network file systems. An inode
/ generation
pair must be unique over the lifetime of the file system (rather than just
the lifetime of the mount). In other words, if a FileSystem
implementation re-uses an
Inode
after it has been deleted then it must assign a new, previously unused generation
number to the Inode
at the same time.
attr: stat64
Inode attributes. Even if attr_timeout
is zero, attr
must be correct. For example, for
open()
, FUSE uses attr.st_size
from lookup()
to determine how many bytes to request.
If this value is not correct, incorrect data will be returned.
attr_flags: u32
Flags for ‘fuse::Attr.flags’
attr_timeout: Duration
How long the values in attr
should be considered valid. If the attributes of the Entry
are only modified by the FUSE client, then this should be set to a very large value.
entry_timeout: Duration
How long the name associated with this Entry
should be considered valid. If directory
entries are only changed or deleted by the FUSE client, then this should be set to a very
large value.
Trait Implementations§
impl Copy for Entry
Auto Trait Implementations§
impl Freeze for Entry
impl RefUnwindSafe for Entry
impl Send for Entry
impl Sync for Entry
impl Unpin for Entry
impl UnwindSafe for Entry
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)