{"id":41596102,"url":"https://github.com/crrow/kisekifs","last_synced_at":"2026-01-24T10:11:31.376Z","repository":{"id":224320349,"uuid":"743061459","full_name":"crrow/kisekifs","owner":"crrow","description":"Kiseki is a Rust implementation for Juicedata's juicefs (https://github.com/juicedata/juicefs), a distributed POSIX file system built on top of Redis and S3. ","archived":false,"fork":false,"pushed_at":"2025-09-03T17:08:50.000Z","size":1799,"stargazers_count":32,"open_issues_count":9,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-09-03T19:21:31.004Z","etag":null,"topics":["cloud-native","filesystem","fuse","posix","rust","s3","storage"],"latest_commit_sha":null,"homepage":"https://crrow.github.io/kisekifs/","language":"Rust","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/crrow.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-01-14T07:44:28.000Z","updated_at":"2025-09-03T17:08:54.000Z","dependencies_parsed_at":"2024-07-28T09:51:20.477Z","dependency_job_id":"42f526ce-6401-4716-8ed0-c159f9f0f9b5","html_url":"https://github.com/crrow/kisekifs","commit_stats":null,"previous_names":["crrow/kisekifs"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/crrow/kisekifs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crrow%2Fkisekifs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crrow%2Fkisekifs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crrow%2Fkisekifs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crrow%2Fkisekifs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crrow","download_url":"https://codeload.github.com/crrow/kisekifs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crrow%2Fkisekifs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28724417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T08:27:05.734Z","status":"ssl_error","status_checked_at":"2026-01-24T08:27:01.197Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cloud-native","filesystem","fuse","posix","rust","s3","storage"],"created_at":"2026-01-24T10:11:30.847Z","updated_at":"2026-01-24T10:11:31.371Z","avatar_url":"https://github.com/crrow.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kiseki\n\nGo check the [doc](https://crrow.github.io/kisekifs/).\n\nKiseki is my learning rust project, a simple 'distributed' fuse file system that is port\nof [JuiceFS](https://github.com/juicedata/juicefs).\n\n**It's just a rust learning project**\n\nIf you don't know juicefs very much, the following is the introduction of juicefs:\n\n```\nJuiceFS is an open-source, high-performance distributed file system designed for the cloud. By providing full POSIX\ncompatibility, it allows almost all kinds of object storage to be used as massive\nlocal disks and to be mounted and accessed on different hosts across platforms and regions.\n\nJuiceFS separates \"data\" and \"metadata\" storage. Files are split into chunks and stored in object storage like Amazon\nS3. The corresponding metadata can be stored in various databases such as Redis, MySQL, TiKV, and SQLite, based on the\nscenarios and requirements.\n```\n\nFUSE must be installed to build or run programs that use fuse-rs (i.e. kernel driver and libraries. Some platforms may\nalso require userland utils like `fusermount`). A default installation of FUSE is usually sufficient.\n\nTo build fuse-rs or any program that depends on it, `pkg-config` needs to be installed as well.\n\n## Difference with juicefs\n\n### 1. Write Buffer\n\nJuiceFS uses a pre-allocated memory and growable bytes pool as write buffer,\nbut this pool is also used for make reading buffer.\n\nKiseki's write buffer pool is fixed-size, and it is consist of a in-memory bytes\npool and a mmap file.\n\n### 2. Cache\n\nJuiceFs use disk-eviction mechinism to manage the writeback cache,\nin Kisekifs, it employs [moka](https://github.com/moka-rs/moka) to implement the\nwrite back cache, much cleaner and efficient.\n\n### 3. How to read slices\n\nJuiceFs reorganize the slices into a linkedlist, kisekifs use [rangemap](https://github.com/jeffparsons/rangemap) to\nhandle the trick part.\n\n\n# Posix Compliance\n\nTotally not compliant with posix, go to the issue page check the details.\n\n## Disclaimer\n\nKiseki is an independent learning project\nand is not endorsed by or affiliated with the Juice company.\n\n# License\n\nApache-2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrrow%2Fkisekifs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrrow%2Fkisekifs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrrow%2Fkisekifs/lists"}