https://github.com/oditynet/assfs
My file system support a snapshots.
https://github.com/oditynet/assfs
c filesystem snapshot
Last synced: 9 months ago
JSON representation
My file system support a snapshots.
- Host: GitHub
- URL: https://github.com/oditynet/assfs
- Owner: oditynet
- License: apache-2.0
- Created: 2025-03-24T08:46:56.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-24T20:52:19.000Z (about 1 year ago)
- Last Synced: 2025-03-24T21:35:30.958Z (about 1 year ago)
- Topics: c, filesystem, snapshot
- Language: C
- Homepage:
- Size: 24.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# asfs
Моя жопная файловая система самодостаточная и пока поддерживает:
1) Создание простого файла (не пмногострочного)
2) Модицикация,удаление файла
3) Создание и восстановление снапшота
4) Показ информации о системе хранения
5) Форматирование диска
....
```
Usage: ./asfs [options]
-b Set block size (default 4096)
-0 Zero fill device on format
-f Format device
-c Create file
-l List files
-w List snapshots
-q Cat file
-s Create snapshot
-r Restore snapshot
-e Edit file
-d Delete file
-x Delete snapshot
-p Print FS info
```
# 23 - это новейшая файловая система записи с LRU L1 кэшем
Вот вам для сравнения генератор на ext4 1000 файлов по 256 байт:
```
odity@viva ~ bash testdisk.sh
Прогресс: [####################] 100%
Результаты:
--------------------------------
Создано файлов: 1000
Общий объем: 250 KB
Общее время: .909995536 сек
Скорость: 1098.90 файлов/сек
Пропускная способность: .26 MB/s
Средний размер файла: 256 байт
--------------------------------
```
И скорость записи моей файловой системы (линейно)
```
./23 -f 20 -k 1024
Inode-X> benchmark
Benchmark results:
Total files: 1000
Total time: 0.022 seconds
Files per second: 46308.73
Throughput: 11.31 MB/s
Inode-X> exit
```
P.S.: Перешел на работу с usb и зашкварился. Это нереально сложно уже высчитывать и невыносимо нудно. Реализовать FUSE с начала,чтоб монтировать диск в папку,но это не то. L1 постоянно не удается держать в памяти. Перешел на интерактиный режим,но тот же bench писать неудобно, да и как тут сравнивать потом со скоростью bash скрипта. Написал отдельно файлы: echo, ls, df, mkfs, cat, rm и тут уже зашквар пошел. df показывает не то количетво inode и т.д..... В общем, Торвальдсу поклон, раз он в 93 реализовал все это с нуля. У меня же появилось понимание работ Inode.