{"id":18366462,"url":"https://github.com/aveek-saha/fuse-filesystem","last_synced_at":"2025-09-11T11:33:44.233Z","repository":{"id":49948721,"uuid":"158837886","full_name":"Aveek-Saha/FUSE-Filesystem","owner":"Aveek-Saha","description":"A basic file system in user space written in C using FUSE","archived":false,"fork":false,"pushed_at":"2023-06-27T03:54:35.000Z","size":14,"stargazers_count":27,"open_issues_count":1,"forks_count":14,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-22T03:31:40.863Z","etag":null,"topics":["file-system","filesystem","fuse","fuse-filesystem","fuse-kernel","kernel","libfuse","linux-filesystem","userspace"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Aveek-Saha.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}},"created_at":"2018-11-23T13:41:36.000Z","updated_at":"2025-03-12T12:15:12.000Z","dependencies_parsed_at":"2022-09-11T05:01:22.357Z","dependency_job_id":null,"html_url":"https://github.com/Aveek-Saha/FUSE-Filesystem","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aveek-Saha%2FFUSE-Filesystem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aveek-Saha%2FFUSE-Filesystem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aveek-Saha%2FFUSE-Filesystem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aveek-Saha%2FFUSE-Filesystem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aveek-Saha","download_url":"https://codeload.github.com/Aveek-Saha/FUSE-Filesystem/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247512866,"owners_count":20950944,"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":["file-system","filesystem","fuse","fuse-filesystem","fuse-kernel","kernel","libfuse","linux-filesystem","userspace"],"created_at":"2024-11-05T23:17:44.886Z","updated_at":"2025-04-06T16:32:11.105Z","avatar_url":"https://github.com/Aveek-Saha.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FUSE Filesystem\nA basic file system written in C using FUSE\n\n\n# About fuse\nFrom the [official repository](https://github.com/libfuse/libfuse)\n\u003e  FUSE (Filesystem in Userspace) is an interface for userspace programs to export a filesystem to the Linux kernel. The FUSE project consists of two components: the fuse kernel module and the libfuse userspace library. libfuse provides the reference implementation for communicating with the FUSE kernel module.\n\nBasically Fuse allows us to call our own functions instead of using the default kernel functions when a system call is used. That is incoming requests from the kernel are passed to the main program using callbacks. Where we can define our own functions to handle them.\n\n\n# Installing FUSE\nFor Ubuntu\n```\n$ sudo apt-get install libfuse-dev\n```\n\n\n# Using the Filesystem\n\nClone this repository\n```\n$ git clone https://github.com/Aveek-Saha/FUSE-Filesystem.git FS\n```\n\ncd into the directory and create a mount point\n```\n$ cd FS\n$ mkdir mountpoint\n```\nComplile and run FS.c\n```\n$ gcc FS.c -o FS `pkg-config fuse --cflags --libs`\n$ ./ FS - f path/ to/ mountpoint\n```\nChange your current working directory to ```mountpoint``` and use the file system.\n\n\n# Operations\n\nThe following operations are implimented -\n- Create and Remove a directory.\n- Create, Read and write to a file.\n- Delete an existing file.\n- Appending to and truncating a file.\n- Access, modified and status change time updates.\n- Open and close a file.\n\n# Team\nThis project was a team effort by\n\n| Name | GitHub Profile |\n|:---:|:---:|\n|  Arvind Srinivasan | [arvindsrinivasan](https://github.com/arvindsrinivasan) |\n|  Aprameya Bharadwaj | [aprameyabharadwaj](https://github.com/aprameyabharadwaj) |\n|  Anish Kasi | [anishkasi](https://github.com/anishkasi) |\n|  Aveek Saha | [aveek-saha](https://github.com/aveek-saha) |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faveek-saha%2Ffuse-filesystem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faveek-saha%2Ffuse-filesystem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faveek-saha%2Ffuse-filesystem/lists"}