Skip to main content

Crate vfsi_sync

Crate vfsi_sync 

Source
Expand description

Synchronous filesystem interface facets.

The compatibility VecFs trait remains the optimized vector contract. Its single-operation helpers form today’s scalar facet without introducing a second, conflicting set of method names.

Modules§

sfsi
Scalar/singular view of the synchronous interface.
vfsi
Vectorized view of the synchronous interface.

Structs§

Adb
An Application Data Block (ADB) pattern, mirroring struct tc_adb.
AttrMask
A bitflags set of requested attributes.
Capabilities
Typed backend capabilities. Unlike the legacy integer constants, this rejects accidental mixing with unrelated bit fields.
DirEntry
One native directory entry with its already-fetched metadata.
DirectoryListing
One directory and its entries, with attributes fetched during enumeration.
ExtentPair
One extent to copy, mirroring struct tc_extent_pair.
FsClient
Cloneable owner of one synchronous backend connection.
FsFile
Owned RAII file which does not borrow the client.
FsRead
Typed read request for FsClient::readv.
FsReadInto
Typed vector read into caller-provided storage.
FsWrite
Typed borrowed write request for FsClient::writev.
HandleId
Opaque identifier for a backend-owned open file.
Metadata
Idiomatic metadata returned by the Rust-native path API.
MetadataQuery
Typed metadata lookup request. Returned fields are still represented by VfAttrs during the compatibility transition, but request and mutation masks are no longer conflated.
MetadataUpdate
Rust-native metadata changes used by MetadataFileSystem.
OpenFlags
Typed file-open behavior for the Rust-native API.
OpenOptions
std::fs::OpenOptions-style builder tied to an FsClient.
OpenRequest
One complete open request. This replaces three error-prone parallel slices of paths, flags, and modes.
Permissions
Rust-native permission bits, independent of protocol wire attributes.
ReadAllOptions
Resource limits for reading multiple complete files into memory.
ReadDirOptions
Resource limits for one allocating directory listing.
ReadIntoResult
Metadata for a read placed directly into caller-provided storage.
ReadOp
One element of a batched read, replacing the C tc_iovec (which mixed input and output fields in a single mutable struct).
ReadResult
The result of one ReadOp: the data and whether end-of-file was hit. file echoes the request’s file reference so results can be paired back to mixed fd/path inputs without reordering assumptions.
ReadStreamOptions
Tuning options for bounded single-file streaming reads.
RemoveOptions
Options controlling recursive removal.
RpcError
An error from the low-level client: either an NFS4ERR_* status reported by the server for a compound operation, or a transport/RPC-level failure.
SetAttributes
Valid-by-construction metadata mutation request.
SetMetadata
Builder for an atomic metadata update request.
VfAttrs
File attributes, mirroring struct tc_attrs. mode is the full st_mode (permission bits plus S_IFMT file-type bits); the mtime/atime/ctime fields hold seconds and nanoseconds.
VfFileHandle
RAII descriptor adapter implementing standard synchronous Rust I/O traits.
VfOpenOptions
Idiomatic Rust open options for a VFSI filesystem.
WalkEntry
A directory and its entries, as returned by a filesystem walk. path is the directory’s root-relative path; entries are its immediate children.
WalkOptions
Resource limits for an allocating recursive directory walk.
WriteOp
One element of a batched write.
WriteOpRef
Borrowed write request for callers that should not have to allocate an owned Vec<u8> merely to submit a vector operation.
WriteResult
The result of one WriteOp. file echoes the request’s file reference.

Enums§

ErrorDomain
Namespace in which a status code is meaningful.
OutcomeCertainty
Whether the caller can know if a failed operation changed remote state.
RetryClass
Whether retrying an operation is safe without first reconciling state.
SeekFrom
How filesystem seek operations interpret their offset, mirroring SEEK_SET / SEEK_CUR / SEEK_END as an enum.
StatusCode
Typed protocol/filesystem status. Transport failures have no status.
VfDir
An opaque handle to an open directory.
VfError
The failure of one operation in a vectorized call.
VfFile
A reference to a file: an open descriptor, a path, or a special pseudo-file. This is the Rust-native form of the C tc_file tagged struct (type + fd + path), where the variant is the tag.
VfOffset
The offset of a read or write operation.
VfPathBase
The base a path is resolved against, replacing the C VF_FD_CWD / VF_FD_ABS sentinel descriptors.
VfType
The NFSv4 object type, replacing the raw NF4* wire codes in VfAttrs::ftype.

Constants§

DEFAULT_DIRECTORY_MAX_ENTRIES
Default maximum number of entries returned by allocating directory APIs.
DEFAULT_DIRECTORY_MAX_PATH_BYTES
Default combined path-storage budget for allocating directory APIs.
DEFAULT_READV_MAX_TOTAL_BYTES
Default aggregate payload limit for owned vector reads.
DEFAULT_READ_ALLV_MAX_TOTAL_BYTES
Default aggregate payload limit for VecFs::read_allv.
DEFAULT_READ_MAX_BYTES
Default payload limit for APIs that allocate and return complete contents.
DEFAULT_READ_STREAM_CHUNK_BYTES
Default size of each chunk delivered by the bounded single-file stream API.
DEFAULT_WALK_MAX_DEPTH
Default recursion depth for VecFs::walk.
ERR_ACCES
ERR_EBADF
ERR_EXIST
ERR_INVAL
ERR_IO
ERR_ISDIR
ERR_NOENT
Generic errno-style error codes (they coincide with the NFS4ERR codes for the same conditions, which the NFS backend reports).
ERR_NOTDIR
NF4BLK
NF4CHR
NF4DIR
NF4FIFO
NF4LNK
NF4REG
NFSv4 wire type codes (NF4*), used to decode/encode VfType.
NF4SOCK
STATUS_TRANSPORT
NFS4 status used for transport-level failures (there is no NFS status).
VF_CAP_HARDLINKS
The backend can create hard links and report their shared identity.
VF_CAP_LSTAT
The backend implements no-follow metadata operations (lstat semantics).
VF_CAP_NON_UTF8_PATHS
The backend accepts paths containing arbitrary non-UTF-8 Unix bytes.
VF_CAP_POSIX_METADATA
The backend reports and honors Unix mode/ownership/link-count metadata.
VF_CAP_SERVER_COPY
Capability bit returned by a backend’s capability query when it will currently attempt a server-side copy operation (NFSv4.2 COPY or SMB FSCTL_SRV_COPYCHUNK).
VF_CAP_SYMLINKS
The backend can create, inspect, and copy symbolic links without following them.
VF_CAP_UNIX_SEMANTICS
Capabilities shared by the complete Unix-like NFS and dummy backends.
VF_ERR_RPC
Errors that have no filesystem status (transport / client side).
VF_ERR_UNSUPPORTED
Requested feature is not implemented by this backend.

Traits§

CopyFileSystem
File-copy operations. Backends may accelerate this server-side.
DirectoryFileSystem
Directory creation and enumeration.
FileSystem
Core synchronous scalar filesystem operations.
LinkFileSystem
Symbolic and hard-link operations.
MetadataFileSystem
Path metadata operations independent of open descriptors.
NamespaceFileSystem
Namespace mutations shared by files and directories.
NativeFileSystem
Complete scalar filesystem surface used by ordinary native applications.
VecFs
A vectorized filesystem: many small operations coalesced into as few round trips as the backend supports.
VecFsExt
AsRef<Path> convenience wrappers for VecFs methods.
VectorFileSystem
Optimized ordered vectors. This is deliberately separate from the scalar contract so a backend can implement scalar semantics without pretending to support native batching.

Functions§

rm_recursive
tc_rm_recursive().

Type Aliases§

Fd
An open file descriptor (backend-assigned), the Rust spelling of the C int fd.
ReadStreamCallback
Callback used by vectorized streaming reads.
RpcResult
Convenience alias used throughout the low-level client.
VfRes
Result of a compound-style operation: () on success, or the index and error of the first failing operation.
VfResult