libfuse

Data Fields
fuse_entry_param Struct Reference

`#include <fuse_lowlevel.h>`

## Data Fields
fuse_ino_t | ino
uint64_t | generation
struct stat | attr
double | attr_timeout
double | entry_timeout

## Detailed Description

Directory entry parameters supplied to fuse_reply_entry()

## Field Documentation

## ◆ attr

struct stat fuse_entry_param::attr

Inode attributes.

Even if attr_timeout == 0, 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

double fuse_entry_param::attr_timeout

Validity timeout (in seconds) for inode attributes. If attributes only change as a result of requests that come through the kernel, this should be set to a very large value.

## ◆ entry_timeout

double fuse_entry_param::entry_timeout

Validity timeout (in seconds) for the name. If directory entries are changed/deleted only as a result of requests that come through the kernel, this should be set to a very large value.

## ◆ generation

uint64_t fuse_entry_param::generation

Generation number for this entry.

If the file system will be exported over NFS, the ino/generation pairs need to be unique over the file system's lifetime (rather than just the mount time). So if the file system reuses an inode after it has been deleted, it must assign a new, previously unused generation number to the inode at the same time.

The generation must be non-zero, otherwise FUSE will treat it as an error.

## ◆ ino

fuse_ino_t fuse_entry_param::ino

Unique inode number

In lookup, zero means negative entry (from version 2.5) Returning ENOENT also means negative entry, but by setting zero ino the kernel may cache negative entries for entry_timeout seconds.

The documentation for this struct was generated from the following file:

- include/fuse_lowlevel.h