C Filesystem

Open-source C projects categorized as Filesystem

Top 23 C Filesystem Projects

  • nnn

    n³ The unorthodox terminal file manager

    Project mention: Can't figure out how to change icon theme in nnn | /r/commandline | 2023-05-18

    The icon-theme seems to be driven by your terminal font as detailed in `src/icons-in-terminal.h & icons.h, and the choice of "terminal-icon vs nerd-fonts vs emoji" appear to be hard-wired at compile-time rather than at run-time.

  • winfsp

    Windows File System Proxy - FUSE for Windows

    Project mention: *arr on local not setting hard links on seedbox | /r/radarr | 2022-12-07

    I’ve got a same sort of setup - difference is I have 2 Plex servers, one on the seedbox and one on a local Windows PC. Have you thought about mounting the seedbox locally? I use SSHFS and WinFSP which the seedbox I use supports - another route I took was using FreeFileSync which is an easy to use program that does all sorts of syncs.

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • dokany

    User mode file system library for windows with FUSE Wrapper

    Project mention: Ask HN: What are some good resources for learning about low level disk/file IO? | news.ycombinator.com | 2023-05-26

    I lead a project that included shipping a filesystem driver and a virtual disk on Windows.

    What I did to learn the lower-level APIs, and perform initial testing on the driver, was write a "mirror" drive. The user-mode code pointed to a folder on disk, the driver made a virtual disk drive, and all reads and writes in the virtual disk drive went to the mirror folder.

    On Windows, you can implement something like that using Dokany, Dokan, or Winfsp. On linux, there's the Fuse API. On Mac, there's MacFUSE.

    Even if you don't do a "mirror" drive, understanding the callbacks that libraries like Dokany, Dokan, Winfsp, and Fuse do helps you understand how IO happens in the driver. Many IO methods provided in popular languages provide abstractions above what the OS does. (For example, the Windows kernel has no concept of the "Stream" that's in your C# program. The "Stream"'s Position property is purely a construct within the .Net framework.)




    Another place to start is the OS's documentation itself. For example, you can start with Window's CreateFileA function. This typically is what gets called "under the hood" in most programming languages when you open or create a file: https://learn.microsoft.com/en-us/windows/win32/api/fileapi/...

  • GlusterFS

    Gluster Filesystem : Build your distributed storage in minutes

    Project mention: Which distributed filesystem to use on a 4 node cluster? | /r/homelab | 2023-05-05

    Just because Red Hat will stop selling commercial support for their product, does not mean GlusterFS itself is dying. It's an open source project like any other - https://github.com/gluster/glusterfs

  • littlefs

    A little fail-safe filesystem designed for microcontrollers

    Project mention: I made a tachometer/hour meter for my outboard engine using the PIO | /r/raspberrypipico | 2023-04-28

    Also, it looks like you're writing to the flash every second the engine is running. Do you have an idea of what the endurance of that might be? I'm not too familiar with this but supposedly the flash on the Pico is good for at least 100K program/erase cycles and Micropython uses LittleFS on RP2040 which does wear leveling. I looked for more official info and the rp2 port code backs that up with a note: "the flash requires the programming size to be aligned to 256 bytes". And the littlefs readme does say it does wear leveling and other good stuff.

  • rmlint

    Extremely fast tool to remove duplicates and other lint from your filesystem

    Project mention: I decluttered 14,000 digital items within a few hours. Here's how I did it. | /r/declutter | 2023-02-19

    For the technically savvy among you there is an excellent open source program called ‘rmlint’ (aka. Remove Lint). It is excellent at finding duplicates and saved me terabytes of space.

  • MooseFS

    MooseFS – Open Source, Petabyte, Fault-Tolerant, Highly Performing, Scalable Network Distributed File System (Software-Defined Storage)

    Project mention: Google Cloud Storage FUSE | news.ycombinator.com | 2023-05-02
  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • minixfromscratch

    Development and compilation setup for the book versions of MINIX (2.0.0 and 3.1.0) on QEMU

    Project mention: MINIX from Scratch | /r/patient_hackernews | 2023-02-23
  • testdisk

    TestDisk & PhotoRec

    Project mention: Empresas/lojas recuperação dados informáticos [Sério] | /r/portugal | 2023-05-31


  • winix

    A UNIX-style Operating System for the Waikato RISC Architecture Microprocessor (WRAMP)

  • fsmon

    monitor filesystem on iOS / OS X / Android / FirefoxOS / Linux

  • exfat

    Free exFAT file system implementation

  • httpdirfs

    A filesystem which allows you to mount HTTP directory listings, with a permanent cache. Now with Airsonic / Subsonic support!

    Project mention: Mount virtual http[s] iso command for progressive adaptive random access download with optional resumable download going to storage? | /r/linuxquestions | 2022-12-19

    That said.. I'm pretty sure https://github.com/fangfufu/httpdirfs will do approximately what you're asking for.

  • squashfs-tools

    tools to create and extract Squashfs filesystems

  • bfs

    A breadth-first version of the UNIX find command

    Project mention: A bunch of Python and Bash scripts I developed for personal and working projects | /r/Python | 2022-06-30
  • fs

    Provide cross platform file operations based on libuv. (by r-lib)

  • linux-apfs-rw

    APFS module for linux, with experimental write support

    Project mention: Is there any way to mount an external hard drive encrypted with Apple's APFS file system under Linux/Ubuntu for both READ and WRITE? | /r/linuxquestions | 2023-04-12

    I've looked hard and the best I've come across is linux-apfs-rw, but AFAIK that won't let me work with an encrypted APFS volume.

  • composefs

    a file system for mounting container images

    Project mention: Composefs: Content-Addressable Filesystem for Linux | news.ycombinator.com | 2023-01-25

    Very promising, but given that they are still fixing binary search bounds checks, probably needs time to stabilize https://github.com/containers/composefs/commit/64640fa0fe256...

  • DreamShell

    Operating system for the Sega Dreamcast

    Project mention: Someone got the link to the latest version of Iso Loader for dreamshell? | /r/dreamcast | 2023-03-25

    The latest version can be found on the DC-SWAT forum, though https://github.com/DC-SWAT/DreamShell/releases is also regularly updated (last release was yesterday).

  • nullfsvfs

    a virtual black hole file system that behaves like /dev/null

  • dosfstools

    dosfstools consists of the programs mkfs.fat, fsck.fat and fatlabel to create, check and label file systems of the FAT family.

  • esp_littlefs

    LittleFS port for ESP-IDF (by joltwallet)

    Project mention: LittleFS partition size / max file size | /r/esp32 | 2023-05-14

    Hi, assuming you are using esp_littlefs, you can use esp_littlefs_info function to get the number of total and used bytes of the littlefs partition. demo_esp_littlefs.c

  • ltfs

    Reference implementation of the LTFS format Spec for stand alone tape drive

    Project mention: Controller with correct block size for LTFS | /r/LTO_LTFS_Tape_Copy | 2023-03-10

    Hi, What is the LTFS 'driver' you use for this? Some LTFS version provide a mode for supporting the buggy HBA. This helps time to time with some. It can be worst to try . Here is one version of LTFS i can recommend to use, and a link to an explanation about the Buggy HBA mode: https://github.com/LinearTapeFileSystem/ltfs/wiki/HBA-info And link to issue of user having potential similar problem https://github.com/LinearTapeFileSystem/ltfs/issues/144

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-05-31.

C Filesystem related posts


What are some of the best open-source Filesystem projects in C? This list will help you:

Project Stars
1 nnn 16,432
2 winfsp 5,568
3 dokany 4,690
4 GlusterFS 4,108
5 littlefs 3,991
6 rmlint 1,558
7 MooseFS 1,437
8 minixfromscratch 1,112
9 testdisk 1,095
10 winix 923
11 fsmon 769
12 exfat 697
13 httpdirfs 657
14 squashfs-tools 535
15 bfs 484
16 fs 347
17 linux-apfs-rw 338
18 composefs 289
19 DreamShell 289
20 nullfsvfs 263
21 dosfstools 208
22 esp_littlefs 173
23 ltfs 171
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives