libprojfs - Linux projected filesystem library

  •        8

A Linux projected filesystem library, similar in concept to the Windows Projected File System and developed in conjunction with the VFSForGit project. While the libprojfs C library may also be used independently of VFSForGit, our primary goal is to enable users to run the VFSForGit client on a Linux system.

https://github.com/github/libprojfs

Tags
Implementation
License
Platform

   




Related Projects

securefs - Filesystem in userspace (FUSE) with transparent authenticated encryption

  •    C++

securefs is a filesystem in userspace (FUSE) with transparent encryption (when writing) and decryption (when reading). securefs mounts a regular directory onto a mount point. The mount point appears as a regular filesystem, where one can read/write/create files, directories and symbolic links. The underlying directory will be automatically updated to contain the encrypted and authenticated contents.

rust-fuse - Rust library for filesystems in userspace (FUSE)

  •    Rust

Rust library for easy implementation of FUSE filesystems in userspace. This library does not just provide bindings, it is actually an improved rewrite of the original FUSE C library to fully take advantage of Rust's architecture.

FUSE-J

  •    

FUSE-J Java bindings for FUSE (Filesystem in USErspace) is a Java API that uses JNI bindings to FUSE library and enables writing Linux filesystems in Java language

VFSForGit - Virtual File System for Git: Enable Git at Enterprise Scale

  •    CSharp

VFS stands for Virtual File System. VFS for Git virtualizes the file system beneath your git repo so that git and all tools see what appears to be a normal repo, but VFS for Git only downloads objects as they are needed. VFS for Git also manages the files that git will consider, to ensure that git operations like status, checkout, etc., can be as quick as possible because they will only consider the files that the user has accessed, not all files in the repo. This project was formerly known as GVFS (Git Virtual File System). It is undergoing a rename to VFS for Git. While the rename is in progress, the code, protocol, built executables, and releases may still refer to the old GVFS name. See https://github.com/Microsoft/VFSForGit/projects/4 for the latest status of the rename effort.

POSIX Overlay Filesystem

  •    C

A FUSE filesystem that provides POSIX functionality - UNIX-style permissions, ownership, special files - for filesystems that do not have such, e.g. vfat. It is a modern equivalent of the UMSDOS fs.


libfuse - The reference implementation of the Linux FUSE (Filesystem in Userspace) interface

  •    C

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 (maintained in the regular kernel repositories) and the libfuse userspace library (maintained in this repository). libfuse provides the reference implementation for communicating with the FUSE kernel module. A FUSE file system is typically implemented as a standalone application that links with libfuse. libfuse provides functions to mount the file system, unmount it, read requests from the kernel, and send responses back. libfuse offers two APIs: a "high-level", synchronous API, and a "low-level" asynchronous API. In both cases, incoming requests from the kernel are passed to the main program using callbacks. When using the high-level API, the callbacks may work with file names and paths instead of inodes, and processing of a request finishes when the callback function returns. When using the low-level API, the callbacks must work with inodes and responses must be sent explicitly using a separate set of API functions.

gcsf - a FUSE file system based on Google Drive

  •    Rust

GCSF is a virtual filesystem that allows users to mount their Google Drive account locally and interact with it as a regular disk partition. You can find out more in this paper. An AUR package is maintained by axionl: gcsf-git.

dungeonfs - A FUSE filesystem and dungeon crawling adventure game engine

  •    Go

DungeonFS is a FUSE filesystem and dungeon crawling adventure game engine. This is a work-in-progress, however, there is a general list of planned features worth checking out, as well as, a little bit of the motivation behind why I started this project. Note: The demo level is included in the <project root>/examples/simplelevel folder, which should be downloaded with the above command. In the future, I will have this included with the static binary so the demo level is accessible without need go installed on the system.

Afero - A FileSystem Abstraction System for Go

  •    Go

Afero is an filesystem framework providing a simple, uniform and universal API interacting with any filesystem, as an abstraction layer providing interfaces, types and methods. Afero has an exceptionally clean interface and simple design without needless constructors or initialization methods.Afero is also a library providing a base set of interoperable backend filesystems that make it easy to work with afero while retaining all the power and benefit of the os and ioutil packages.

zio - A cross-platform abstract/virtual filesystem framework with many built-ins filesystems for

  •    CSharp

Zio provides a simple, powerful, cross-platform filesystem abstraction for .NET with many built-ins filesystems. The following documentation provides more information about the API and how to use it.

fuse - FUSE library for Go.  go get bazil.org/fuse  

  •    Go

bazil.org/fuse is a Go library for writing FUSE userspace filesystems. It is a from-scratch implementation of the kernel-userspace communication protocol, and does not use the C library from the project called FUSE. bazil.org/fuse embraces Go fully for safety and ease of programming.

e2fsprogs - Ext2 Filesystems Utilities

  •    C

The Ext2 Filesystem Utilities (e2fsprogs) contain all of the standard utilities for creating, fixing, configuring , and debugging ext2 filesystems. It contains utilities like e2fsck, mke2fs, debugfs, dumpe2fs, tune2fs, dump, defrag and most of the other core ext2fs filesystem utilities.

lxcfs - FUSE filesystem for LXC

  •    C

LXCFS is a small FUSE filesystem written with the intention of making Linux containers feel more like a virtual machine. It started as a side-project of LXC but is useable by any runtime. are container aware such that the values displayed (e.g. in /proc/uptime) really reflect how long the container is running and not how long the host is running.

gocryptfs - Encrypted overlay filesystem written in Go.

  •    Go

An encrypted overlay filesystem written in Go. Official website: https://nuetzlich.net/gocryptfs (markdown source). gocryptfs is built on top the excellent go-fuse FUSE library. This project was inspired by EncFS and strives to fix its security issues while providing good performance (benchmarks). For details on the security of gocryptfs see the Security design document.

winfsp - Windows File System Proxy - FUSE for Windows

  •    C

WinFsp is a set of software components for Windows computers that allows the creation of user mode file systems. In this sense it is similar to FUSE (Filesystem in Userspace), which provides the same functionality on UNIX-like computers. WinFsp is very stable. There are no known kernel mode crashes and it does not suffer from resource leaks or similar problems. WinFsp owes this stability to its Design and its rigorous Testing Regime.

plexdrive - Plexdrive mounts your Google Drive FUSE filesystem (optimized for media playback)

  •    Go

Plexdrive allows you to mount your Google Drive account as read-only fuse filesystem, with direct delete option on the filesystem. Please note that plexdrive doesn't currently support writes (adding new files or modifications), it only supports reading existing files and deletion.

GDataFS (FUSE filesystem for PicassaWeb)

  •    Java

Gdatafs is a FUSE implemtation that mount your account at google's picassa web to your filesystem. The filesystem support ful read/write and delete of album and photos.

Gluster Filesystem - Scalable Network Filesystem

  •    C

Gluster is a software defined distributed storage that can scale to several petabytes. It provides interfaces for object, block and file storage. It is a distributed scale-out filesystem that allows rapid provisioning of additional storage based on your storage consumption needs. It incorporates automatic failover as a primary feature.

pyfilesystem - Python filesystem abstraction layer

  •    Python

Note: The project has largely been replaced by PyFilesystem2 which offers many improvements over the original. PyFilesystem is an abstraction layer for filesystems. In the same way that Python's file-like objects provide a common way of accessing files, PyFilesystem provides a common way of accessing entire filesystems. You can write platform-independent code to work with local files, that also works with any of the supported filesystems (zip, ftp, S3 etc.).

mutagen - Simple, cross-platform, continuous, bidirectional file synchronization for remote development

  •    Go

Mutagen is a fast, continuous, bidirectional file synchronization tool. It can safely, scalably, and efficiently synchronize filesystem contents between arbitrary pairs of locations in near real-time. Support is currently implemented for locations on local filesystems, SSH-accessible filesystems, and Docker container filesystems. Mutagen excels at supporting remote development scenarios, with options specifically designed to help developers edit code locally while building, running, or packaging it in a remote environment.