https://github.com/gaul/mirrorfs
Mirror filesystem operations and check for consistency
https://github.com/gaul/mirrorfs
filesystem fuse testing
Last synced: about 1 year ago
JSON representation
Mirror filesystem operations and check for consistency
- Host: GitHub
- URL: https://github.com/gaul/mirrorfs
- Owner: gaul
- License: mit
- Created: 2019-05-04T03:19:39.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-07-03T23:32:51.000Z (almost 7 years ago)
- Last Synced: 2025-04-13T19:23:23.266Z (about 1 year ago)
- Topics: filesystem, fuse, testing
- Language: C
- Homepage:
- Size: 8.79 KB
- Stars: 9
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# mirrorfs
A [FUSE](https://en.wikipedia.org/wiki/Filesystem_in_Userspace) filesystem that
mirrors operations and checks for consistency. mirrorfs ensures that the
results of operations are exactly the same, e.g., system call results, errnos,
stat structs, read buffers. This can help test an in-development filesystem
against a known good one, e.g., ext4.
## Usage
On Fedora, install dependencies via:
```
sudo dnf install fuse3 fuse3-devel fuse3-libs
```
Build via `make` then run via:
```
./mirrorfs GOOD_PATH TESTING_PATH MOUNT_PATH
```
If you provide the `-f` option mirrorfs will start in the foreground and log
its operations. Now programs can interact with `MOUNT_PATH` as usual. When
mirrorfs detects an inconsistency it will log the diverging result and abort.
## License
Copyright (C) 2019 Andrew Gaul
Licensed under the MIT License