libfuse: fuse_file_info Struct Reference

libfuse

Data Fields
fuse_file_info Struct Reference

`#include <fuse_common.h>`

## Data Fields
int32_t | flags
uint32_t | writepage: 1
uint32_t | direct_io: 1
uint32_t | keep_cache: 1
uint32_t | flush: 1
uint32_t | nonseekable: 1
uint32_t | cache_readdir: 1
uint32_t | noflush: 1
uint32_t | parallel_direct_writes: 1
uint32_t | padding: 23
uint64_t | fh
uint64_t | lock_owner
uint32_t | poll_events
int32_t | backing_id
uint64_t | compat_flags

## Detailed Description

Information about an open file.

File Handles are created by the open, opendir, and create methods and closed by the release and releasedir methods. Multiple file handles may be concurrently open for the same file. Generally, a client will create one file handle per file descriptor, though in some cases multiple file descriptors can share a single file handle.

Note: This data structure is ABI sensitive, new parameters have to be added within padding/padding2 bits and always below existing parameters.

Definition at line 50 of file fuse_common.h.

## Field Documentation

## ◆ backing_id

int32_t fuse_file_info::backing_id

Passthrough backing file id. May be filled in by filesystem in create and open. It is used to create a passthrough connection between FUSE file and backing file.

Definition at line 119 of file fuse_common.h.

## ◆ cache_readdir

uint32_t fuse_file_info::cache_readdir

Can be filled in by opendir. It signals the kernel to enable caching of entries returned by readdir(). Has no effect when set in other contexts (in particular it does nothing when set by open()).

Definition at line 89 of file fuse_common.h.

## ◆ compat_flags

uint64_t fuse_file_info::compat_flags

struct fuse_file_info api and abi flags

Definition at line 122 of file fuse_common.h.

## ◆ direct_io

uint32_t fuse_file_info::direct_io

Can be filled in by open/create, to use direct I/O on this file.

Definition at line 63 of file fuse_common.h.

## ◆ fh

uint64_t fuse_file_info::fh

File handle id. May be filled in by filesystem in create, open, and opendir(). Available in most other file operations on the same file handle.

Definition at line 107 of file fuse_common.h.

## ◆ flags

int32_t fuse_file_info::flags

Open flags. Available in open(), release() and create()

Definition at line 52 of file fuse_common.h.

## ◆ flush

uint32_t fuse_file_info::flush

Indicates a flush operation. Set in flush operation, also maybe set in highlevel lock operation and lowlevel release operation.

Definition at line 74 of file fuse_common.h.

## ◆ keep_cache

uint32_t fuse_file_info::keep_cache

Can be filled in by open and opendir. It signals the kernel that any currently cached data (ie., data that the filesystem provided the last time the file/directory was open) need not be invalidated when the file/directory is closed.

Definition at line 69 of file fuse_common.h.

## ◆ lock_owner

uint64_t fuse_file_info::lock_owner

Lock owner id. Available in locking operations and flush

Definition at line 110 of file fuse_common.h.

## ◆ noflush

uint32_t fuse_file_info::noflush

Can be filled in by open, to indicate that flush is not needed on close.

Definition at line 93 of file fuse_common.h.

## ◆ nonseekable

uint32_t fuse_file_info::nonseekable

Can be filled in by open, to indicate that the file is not seekable.

Definition at line 78 of file fuse_common.h.

## ◆ padding

uint32_t fuse_file_info::padding

Padding. Reserved for future use

Definition at line 100 of file fuse_common.h.

## ◆ parallel_direct_writes

uint32_t fuse_file_info::parallel_direct_writes

Can be filled by open/create, to allow parallel direct writes on this file

Definition at line 97 of file fuse_common.h.

## ◆ poll_events

uint32_t fuse_file_info::poll_events

Requested poll events. Available in ->poll. Only set on kernels which support it. If unsupported, this field is set to zero.

Definition at line 114 of file fuse_common.h.

## ◆ writepage

uint32_t fuse_file_info::writepage

In case of a write operation indicates if this was caused by a delayed write from the page cache. If so, then the context's pid, uid, and gid fields will not be valid, and the fh value may not match the fh value that would have been sent with the corresponding individual write requests if write caching had been disabled.

Definition at line 60 of file fuse_common.h.

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

- fuse-3.17.4/include/fuse_common.h
- fuse-3.18.1/include/fuse_common.h
- include/fuse_common.h