/jnr-fuse

FUSE implementation in Java using Java Native Runtime (JNR)

Primary LanguageJavaMIT LicenseMIT

jnr-fuse

Build Status Download Join the chat at https://gitter.im/SerCeMan/jnr-fuse Dependency Status

jnr-fuse is FUSE implementation in java using Java Native Runtime (JNR).

Project Goals

Main goal of the project is to provide easy way to create high-performance filesystem in userspace.

About technologies

FUSE (Filesystem in Userspace) is an OS mechanism for unix-like OS that lets non-privileged users create their own file systems without editing kernel code.

Java Native Runtime (JNR) is high-performance Java API for binding native libraries and native memory.

Get it

Gradle

repositories {
    jcenter()
}

dependencies {
    compile 'com.github.serceman:jnr-fuse:0.3'
}

Maven

    <repositories>
        <repository>
            <id>central</id>
            <name>bintray</name>
            <url>http://jcenter.bintray.com</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>com.github.serceman</groupId>
            <artifactId>jnr-fuse</artifactId>
            <version>0.3</version>
        </dependency>
    </dependencies>

How to use

For implementing your own filesystem you need just extend FuseStubFS class and implement methods you need.

See some examples.

Projects using jnr-fuse

  • Tachyon: Tachyon is a memory-centric distributed storage system

Supported platforms

Supported platforms
Linux x64 x86