Struct fuse::filesystem::Entry

source ·
pub struct Entry {
    pub inode: u64,
    pub generation: u64,
    pub attr: stat64,
    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_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.

Implementations§

source§

impl Entry

source

pub fn new_negative(negative_timeout: Duration) -> Entry

Creates a new negative cache entry. A negative d_entry has an inode number of 0, and is valid for the duration of negative_timeout.

§Arguments
  • negative_timeout - The duration for which this negative d_entry should be considered valid. After the timeout expires, the d_entry will be invalidated.
§Returns

A new negative entry with provided entry timeout and 0 attr timeout.

Trait Implementations§

source§

impl Debug for Entry

source§

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

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

impl From<Entry> for EntryOut

source§

fn from(entry: Entry) -> EntryOut

Converts to this type from the input type.

Auto Trait Implementations§

§

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> 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<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

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, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.