Skip to content

Commit a97f4bb

Browse files
committed
Update readme file
1 parent 0a59c88 commit a97f4bb

1 file changed

Lines changed: 52 additions & 8 deletions

File tree

README.md

Lines changed: 52 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,32 @@
11
# BFCFS - BFC Kernel Filesystem Driver
22

3+
[![Build Status](https://github.com/zombocoder/bfcfs/workflows/Build%20bfcfs%20(headers%206.8.0-49-generic)/badge.svg)](https://github.com/zombocoder/bfcfs/actions)
4+
[![License: GPL v2](https://img.shields.io/badge/License-GPL_v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)
5+
[![Kernel Support](https://img.shields.io/badge/Kernel-6.8.x+-green.svg)](https://kernel.org/)
6+
[![Status](https://img.shields.io/badge/Status-Stable-brightgreen.svg)](#current-status-phase-0-mvp)
7+
38
A native Linux kernel filesystem driver for mounting BFC (Binary File Container) images directly without FUSE.
49

5-
## Current Status: Phase 0 MVP
10+
## Features
11+
12+
- 🚀 **Native Performance**: Direct kernel integration, no FUSE overhead
13+
- 📁 **Full Directory Support**: Complete directory tree navigation and listing
14+
- 📄 **File Reading**: Accurate and complete file content access
15+
- 🔒 **Memory Safe**: Proper VFS integration with clean resource management
16+
-**Direct I/O**: Efficient file reading bypassing page cache complications
17+
- 🛡️ **Crash-Free**: Stable mount/unmount operations without kernel crashes
18+
- 🔧 **Standard Tools**: Works with all standard Linux file utilities (`ls`, `cat`, `cp`, etc.)
19+
20+
## Current Status: Phase 0 MVP - ✅ **STABLE**
621

7-
-**Module Loading**: Loads and registers as kernel filesystem
8-
-**Basic Infrastructure**: Mount parsing, index loading, VFS integration
9-
-**Uncompressed Files**: Can read plain (uncompressed, unencrypted) files
22+
The BFCFS kernel module is now fully functional for basic BFC container operations:
23+
24+
-**Module Loading/Unloading**: Clean insertion and removal from kernel
25+
-**Mount/Unmount Operations**: Proper VFS integration without crashes
26+
-**Directory Operations**: Full directory listing and navigation
27+
-**File Reading**: Complete and accurate file content access
28+
-**Uncompressed Files**: Full support for plain (uncompressed, unencrypted) files
29+
-**VFS Integration**: Proper inode allocation and memory management
1030
- 🚧 **Compression**: Zstd support planned (Phase 0.2)
1131
- 🚧 **Encryption**: AEAD encryption planned (Phase 0.3)
1232

@@ -50,6 +70,26 @@ sudo make install
5070

5171
## Usage
5272

73+
### Quick Start Example
74+
75+
```bash
76+
# Load the module
77+
sudo insmod bfcfs.ko
78+
79+
# Mount a BFC container
80+
sudo mount -t bfcfs -o source=/path/to/container.bfc none /mnt/bfc
81+
82+
# Browse contents
83+
ls -la /mnt/bfc/
84+
cat /mnt/bfc/some-file.txt
85+
86+
# Unmount cleanly
87+
sudo umount /mnt/bfc
88+
89+
# Unload module
90+
sudo rmmod bfcfs
91+
```
92+
5393
### Basic Mount (uncompressed containers only)
5494

5595
```bash
@@ -186,13 +226,17 @@ bfc create -c zstd test.bfc /path/to/source/
186226

187227
## Implementation Phases
188228

189-
### Phase 0: Foundation (✅ Complete)
229+
### Phase 0: Foundation (✅ **COMPLETED**)
190230

191231
- [x] Module infrastructure and VFS registration
192-
- [x] Mount option parsing
193-
- [x] BFC index parsing and validation
194-
- [x] Basic file and directory operations
232+
- [x] Mount option parsing and validation
233+
- [x] BFC container format parsing and index loading
234+
- [x] Proper VFS inode allocation and memory management
235+
- [x] Directory operations (listing, lookup, navigation)
236+
- [x] File reading operations with direct I/O
237+
- [x] Clean mount/unmount without kernel crashes
195238
- [x] Support for uncompressed, unencrypted files
239+
- [x] Synthetic root directory handling
196240

197241
### Phase 0.2: Compression Support (🚧 Planned)
198242

0 commit comments

Comments
 (0)