Questions tagged [fuse]

Fuse stands for Filesystem in Userspace. It can be used to create filesystem backends without writing all the code as a kernel module.

FUSE is a library and a kernel module which allows creating filesystems using only userspace code. It has an API in C and many existing wrappers in other languages. Originally written for Linux >= 2.4 and located behind the VFS layer, now it is usable on many other systems. Since Linux 2.6.14 it's included in the mainline kernel.

Questions about using FUSE API, fuse tools and debugging filesystems using FUSE should be have this tag.

For the latest API, refer to the documentation.

671 questions
15
votes
2 answers

In Memory FUSE filesystem

Write a simple FUSE filesystem that is stored in memory. The filesystem has to support the following commands: ls, mkdir, cp This question was recently asked in an interview, I wasn't able answer it. So I have decided to learn it. Did some…
Gautam
  • 7,868
  • 12
  • 64
  • 105
15
votes
2 answers

What is a Virtual file system or a file system in userspace?

I just came across a VFS and a filesystem in userspace like FUSE. Now, as far as I understand, it simulates a file system, so that an application can have a standard file system hierarchy. But I don't understand, why do we need a separate file…
zengr
  • 38,346
  • 37
  • 130
  • 192
15
votes
3 answers

Is s3fs not able to mount inside docker container?

I want to mount s3fs inside of docker container. I made docker image with s3fs, and did like this: host$ docker run -it --rm docker/s3fs bash [ root@container:~ ]$ s3fs s3bucket /mnt/s3bucket -o allow_other -o allow_other,default_acl=public-read…
kochizufan
  • 2,120
  • 2
  • 30
  • 50
14
votes
3 answers

Android userspace filesystem driver on non-rooted device?

Can I write a custom userspace file system that can be run on non-rooted factory devices through the standard available utilities? I am aware of the existence of fuse-android, however as far as I have understood, it requires a rooted device. If that…
K.Steff
  • 2,164
  • 3
  • 19
  • 25
14
votes
1 answer

Should the FUSE getattr operation always be serialised?

I'm implementing a FUSE filesystem intended to provide access via familiar POSIX calls to files which are actually stored behind a RESTful API. The filesystem caches files once they've been retrieved for the first time so that they are more readily…
abulford
  • 546
  • 6
  • 13
12
votes
1 answer

FUSE - detailed documentation

trying to get my own filesystem working using fuse (filesystem in user space, linux) im really curious on where to get detailed up to date documentation of the operations used? most time i search for other file system implementations and see what…
John Doe
  • 2,746
  • 2
  • 35
  • 50
11
votes
2 answers

Using FUSE library with Java; trying to replicate hello.c example

I am trying to create bindings to the FUSE library using JNA, but I have hit a snag along the road. I have minimized the code as much as possible to make it digestible here. The FUSE library comes with a few example filesystems written in C. The…
Etienne Perot
  • 4,764
  • 7
  • 40
  • 50
11
votes
1 answer

Share a FUSE FS mounted inside a docker container through volumes

I created a docker container where I mount a fuse S3QL FS. And this is working. Now I'd like to be able to share this mount point with the host or with other containers but it does not work. To make it short, I run the container that way : docker…
Nicolas Gif
  • 113
  • 1
  • 5
11
votes
1 answer

Which module is the actual interface to FUSE from Python 3?

I'm just starting to learn FUSE and I'm going to use it with Python 3 under FreeBSD and MacOS. First of all, I'm a bit confused which module is the actual interface to FUSE from Python 3 side: https://github.com/libfuse/python-fuse which is Python…
Mikhail Zakharov
  • 904
  • 11
  • 22
11
votes
1 answer

What are inode generation numbers?

I'm planning to implement a FUSE filesystem using low-level API and currently trying to understand the fuse_entry_param structure. I wonder what unsigned long fuse_entry_param::generation actually means. Documentation says just that ino/generation…
drdaeman
  • 11,159
  • 7
  • 59
  • 104
10
votes
1 answer

Virtual Filesystem in Perl with Fuse

Anybody help me make a virtual file system in Perl. Very simple, 2 depth level, as /subdir subdir-l2 file2.txt /file1.txt I try use Fuse.pm, but not understand how create subdir level. I create %files hash, and if go to subdir, recreate it…
Anton Shevtsov
  • 1,279
  • 4
  • 16
  • 34
10
votes
1 answer

Do the 'sync' and 'syncfs' system calls map to FUSE's 'fsync' calls?

The FUSE API doesn't expose a file-system level sync call, just fsync and fsyncdir. Does it mean that when sync is called (or syncfs inside a FUSE mountpoint), the kernel invokes fsync on all open files on all FUSE mounted file-systems? Or is there…
Petr
  • 62,528
  • 13
  • 153
  • 317
10
votes
3 answers

Mounting sshfs on unreliable connection

I mount remote filesystem with sshfs. If the ssh connection times out it can cause other applications to hang (e.g. vim session with only local file open). It takes ~10 minutes for the system to recover. This happens even if I mount the remote…
John Newman
  • 213
  • 2
  • 9
10
votes
1 answer

What are the libraries libfuse2 and libfuse-dev for fedora?

I'm making a project and I have to use FUSE. I have to install libfuse2 and libfuse-dev (for ubuntu) but I'm not founding this libraries for fedora, could you tell me what are the equivalent libs for fedora?
gn66
  • 803
  • 2
  • 12
  • 33
9
votes
1 answer

What exactly is the difference between fuse2 and fuse3?

FUSE = Filesystem in user space recommends that distros package both a fuse2 and a fuse3 (see here) and indeed they do. What exactly is the reason for this? Is it just that the init code in fuse3 is different?
Johannes Ernst
  • 3,072
  • 3
  • 42
  • 56
1
2
3
44 45