Skip to content

Releases: zombocoder/bfcfs-linux

# BFCFS v1.0.0 - First Stable Release

09 Oct 09:57

Choose a tag to compare

Summary

This is the first stable release of BFCFS (BFC Kernel Filesystem Driver), a native Linux kernel filesystem driver for mounting BFC (Binary File Container) images directly without FUSE overhead.

Key Features

  • Native Kernel Performance: Direct VFS integration eliminates FUSE overhead
  • Full Directory Support: Complete directory tree navigation and listing with proper inode management
  • File Reading Operations: Accurate and complete file content access using direct I/O
  • Symlink Support: Full symlink handling with proper inode operations and standard tool compatibility
  • Memory Safe: Clean VFS integration with proper resource management and no memory leaks
  • Crash-Free Operations: Stable mount/unmount cycles without kernel panics
  • Standard Linux Tools: Works seamlessly with ls, cat, cp, readlink, and other file utilities

What's Included

This release supports:

  • Module loading and unloading
  • Mount/unmount operations with proper VFS integration
  • Directory operations (listing, lookup, navigation)
  • File reading (uncompressed, unencrypted files)
  • Symlink support with proper target resolution
  • Basic verification modes (none, shallow, deep)
  • Mount options parsing and validation

🔧 Requirements

  • Linux Kernel: 6.8.x or newer (required due to VFS API changes)
  • Architecture: x86_64, arm64 (tested)
  • Build Tools: GCC, make, kernel headers

Installation

# Build the module
make

# Install to system modules directory
sudo make install

# Load the module
sudo modprobe bfcfs

Quick Start

# Mount a BFC container
sudo mount -t bfcfs -o source=/path/to/container.bfc /mnt/bfc

# Browse contents
ls -la /mnt/bfc/
cat /mnt/bfc/some-file.txt

# Unmount
sudo umount /mnt/bfc

Known Limitations

  • Compression: Zstd decompression not yet implemented (planned for v0.2.0)
  • Encryption: AEAD encryption support not yet implemented (planned for v0.3.0)
  • Write Operations: Read-only filesystem (write support not planned)

What's Next

v2.0.0 - Compression Support

  • Zstd decompression integration
  • Chunked file reading with compression
  • Performance optimization for compressed files

v3.0.0 - Encryption Support

  • Kernel keyring integration
  • ChaCha20-Poly1305 AEAD decryption
  • Per-chunk encryption/decryption

Recent Changes

  • Fix: Clear superblock info before freeing
  • Feature: Complete symlink support with proper VFS integration
  • Fix: Unmount cleanup and simplified inode logic
  • Fix: BFC header offset alignment
  • Build: Added GitHub CI/CD workflow
  • Build: DKMS configuration for easier distribution

License

GPL v2 - Compatible with Linux kernel licensing

Acknowledgments

Thanks to the Linux kernel community and VFS documentation contributors for making kernel filesystem development accessible.


Full Changelog: https://github.com/zombocoder/bfcfs/commits/v1.0.0