Expand description
Core copy engine shared by fxcp and foxingd. Provides SmartCopier (io_uring), BLAKE3 Merkle hashing, xattr/sidecar metadata, and adaptive I/O strategies.
Re-exports§
pub use error::FxcpError;pub use error::CopyErrorKind;pub use error::Result;
Modules§
- browser
- Midnight Commander-inspired TUI for browsing filesystems and snapshots.
Midnight Commander-inspired TUI for browsing filesystems, snapshots,
and .fxar archives. Feature-gated behind
tui. - buffer
- Memory-aligned buffer pool for io_uring fixed-buffer operations. Memory-aligned buffer pool for io_uring fixed-buffer operations. Provides pinned, aligned allocations that can be registered with the kernel.
- cas_
store - Content-addressable chunk store with crash-safe atomic writes. Content-addressable storage (CAS) directory for foxing replication targets.
- chunk_
delta - Content-defined chunk diff algorithm for delta transfer. Content-defined chunk diff algorithm.
- chunk_
transport - Chunk-level I/O abstraction for delta upsert across transport underlays. Chunk-level I/O abstraction for delta upsert across transport underlays.
- chunker
- Gear-hash variable-size content-defined chunking for FXAR v2 archives. Variable-size content-defined chunking via gear hash. Produces content-determined chunk boundaries that are stable across insertions/deletions, enabling high deduplication ratios.
- cid
- BLAKE3 multicodec CID encoding for content-addressed interoperability. BLAKE3 multicodec CID encoding for content-addressed interoperability.
- consistency
- Crash consistency subsystem – WAL, event journal, and sequence generation. Crash consistency subsystem providing write-ahead logging, event journaling, and monotonic sequence generation.
- constants
- Compile-time and runtime constants for tuning, timeouts, and thresholds. Compile-time and runtime constants for foxing subsystems. Includes worker tuning, retry limits, buffer sizes, and feature flags.
- error
- Error types –
FxcpError,CopyErrorKind, andResultalias. Error types for the fxcp-core copy engine. - filter
- Path filtering with include/exclude glob patterns. Path filtering with include/exclude patterns.
- fmt
- Shared formatting utilities for human-readable byte sizes. Shared formatting utilities for human-readable output.
- fsverity
- fs-verity integration for tamper-evident snapshot sealing. fs-verity integration for tamper-evident snapshot sealing.
- fxar
- FXAR v2 archive format – gear-hash chunking, BLAKE3 CAS, binary index. FXAR v2: variable-size gear-hash chunking + BLAKE3 CAS + binary index. Replaces v1’s tar+whole-file-dedup with true chunk-level deduplication.
- fxar_
remote - Remote FXAR access – open archives from local path or S3 URI for update. Remote FXAR access – open an FXAR archive from a local path or S3 URI for in-place update via the tail-rewrite engine.
- governor
- PSI-based system stress management with QoS floor. PSI-based system stress management with QoS floor.
- hashing
- BLAKE3 Merkle tree construction, adaptive chunk sizing, and directory hashing. BLAKE3 hashing, Merkle tree, delta detection, directory hashing.
- merkle_
index - Per-target consolidated Merkle signature index for large files (>256MB).
Stores large Merkle signatures that exceed the 64KB xattr limit in a
consolidated per-target index file at
<target>/.foxing_meta/merkle.db. - metrics
- Prometheus metric counters and gauges for copy operations and I/O stats. Prometheus metric counters and gauges for copy operations, I/O stats, and storage detection results.
- mount_
info - Unified mount enumeration via statmount(2) with /proc/self/mountinfo fallback. Unified mount enumeration API.
- nfs
- Userspace NFSv4.2 compound RPC client bypassing VFS per-file overhead. Userspace NFSv4.2 compound RPC client for bypassing VFS per-file overhead.
- operations
- io_uring pipeline, reflink/CoW, sendfile, and copy tier selection. SmartCopier, io_uring pipeline, reflink/CoW.
- qcow2
- Pure-Rust qcow2 metadata parser for format-aware replication optimization. Pure-Rust qcow2 metadata parser for format-aware replication optimization.
- security
- Metadata sync, permissions, ownership, ACL, and xattr operations. Metadata sync, permissions, ownership, xattr operations.
- sidecar
- xattr/sidecar metadata –
SyncSignature, dirty flags, JSON fallback. Xattr/sidecar metadata – SyncSignature, MerkleSignature, dir_hash. - stratis
- Stratis D-Bus integration for pool-aware replication and snapshots. Stratis D-Bus integration for pool-aware replication.
- sync
- Shared copy/sync engine – recursive directory copy, delta sync, stdin pipe. Shared copy/sync engine used by both fxcp CLI and foxingd sync command.
- tombstone
- Append-only JSONL tombstone journal for delete propagation across restarts. Append-only JSONL journal recording file/directory deletions.
- version_
store - Hybrid point-in-time version store with JSON manifest and browsable trees. Hybrid point-in-time + per-file version store with JSON manifest. Wraps the core versioning engine to provide human-readable naming, dirvish-style browsable tree snapshots, and machine-readable indexes.
- versioning
- MARS reflink snapshots with epoch-based version management and retention. Mirror & Archive Recovery System (MARS) – zero-cost reflink snapshots with epoch-based version management and retention policies.