{"id":26654803,"url":"https://github.com/oditynet/assfs","last_synced_at":"2025-09-22T09:06:40.151Z","repository":{"id":284121888,"uuid":"953892608","full_name":"oditynet/assfs","owner":"oditynet","description":"My file system support a snapshots. ","archived":false,"fork":false,"pushed_at":"2025-03-24T20:52:19.000Z","size":25,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T21:35:30.958Z","etag":null,"topics":["c","filesystem","snapshot"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oditynet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-24T08:46:56.000Z","updated_at":"2025-03-24T20:52:23.000Z","dependencies_parsed_at":"2025-03-24T21:35:32.861Z","dependency_job_id":null,"html_url":"https://github.com/oditynet/assfs","commit_stats":null,"previous_names":["oditynet/asfs","oditynet/assfs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oditynet%2Fassfs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oditynet%2Fassfs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oditynet%2Fassfs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oditynet%2Fassfs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oditynet","download_url":"https://codeload.github.com/oditynet/assfs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245407754,"owners_count":20610232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","filesystem","snapshot"],"created_at":"2025-03-25T05:44:29.562Z","updated_at":"2025-09-22T09:06:40.142Z","avatar_url":"https://github.com/oditynet.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# asfs\n\nМоя жопная файловая система самодостаточная и пока поддерживает:\n1) Создание простого файла (не пмногострочного)\n2) Модицикация,удаление файла\n3) Создание и восстановление снапшота\n4) Показ информации о системе хранения\n5) Форматирование диска\n....\n```\nUsage: ./asfs [options]\n  -b \u003csize\u003e    Set block size (default 4096)\n  -0           Zero fill device on format\n  -f           Format device\n  -c \u003cf\u003e \u003cd\u003e   Create file\n  -l           List files\n  -w           List snapshots\n  -q \u003cf\u003e       Cat file\n  -s \u003cf\u003e \u003cn\u003e   Create snapshot\n  -r \u003cf\u003e \u003cn\u003e   Restore snapshot\n  -e \u003cf\u003e \u003cd\u003e   Edit file\n  -d \u003cf\u003e       Delete file\n  -x \u003cf\u003e       Delete snapshot\n  -p           Print FS info\n```\n# 23 - это новейшая файловая система записи с LRU L1 кэшем\n\nВот вам для сравнения генератор на ext4 1000 файлов по 256 байт:\n```\n odity@viva  ~  bash testdisk.sh\nПрогресс: [####################] 100%\n\nРезультаты:\n--------------------------------\nСоздано файлов:   1000\nОбщий объем:      250 KB\nОбщее время:      .909995536 сек\nСкорость:         1098.90 файлов/сек\nПропускная способность: .26 MB/s\nСредний размер файла: 256 байт\n--------------------------------\n```\nИ скорость записи моей файловой системы (линейно)\n```\n./23 -f 20 -k 1024\nInode-X\u003e benchmark\nBenchmark results:\nTotal files:     1000\nTotal time:      0.022 seconds\nFiles per second: 46308.73\nThroughput:      11.31 MB/s\n\nInode-X\u003e exit\n```\n\n\nP.S.: Перешел на работу с usb и зашкварился. Это нереально сложно уже высчитывать и невыносимо нудно. Реализовать FUSE с начала,чтоб монтировать диск в папку,но это не то. L1 постоянно не удается держать в памяти. Перешел на интерактиный режим,но тот же bench писать неудобно, да и как тут сравнивать потом со скоростью bash скрипта. Написал отдельно файлы: echo, ls, df, mkfs, cat, rm и тут уже зашквар пошел. df показывает не то количетво inode  и т.д..... В общем, Торвальдсу поклон, раз он в 93 реализовал все это с нуля. У меня же появилось понимание работ Inode.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foditynet%2Fassfs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foditynet%2Fassfs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foditynet%2Fassfs/lists"}