Comments (9)
@SerCeMan As I understand it, the API has changed.
I tried to compile utility httpfs2 ( http://httpfs.sourceforge.net ) written on C for libfuse2 but stocked with incompatibility.
from jnr-fuse.
fwiw this doesn't work at all with libfuse3
. the fuse_operations
struct has changed.
from jnr-fuse.
Hi, @TheHett! What problem are you observing with libfuse3? As far as I can see, no APIs were changed. The only change that could have broken jnr-fuse is a failure to resolve the library.
from jnr-fuse.
I have tried to use libfuse3.so and encountered an error:
fuse: unknown option(s): `-o big_writes,max_write=131072,direct_io'
Exception in thread "main" ru.serce.jnrfuse.FuseException: Unable to mount FS
at ru.serce.jnrfuse.AbstractFuseFS.mount(AbstractFuseFS.java:286)
at alluxio.fuse.AlluxioFuse.main(AlluxioFuse.java:71)
Caused by: ru.serce.jnrfuse.FuseException: Unable to mount FS, return code = 3
at ru.serce.jnrfuse.AbstractFuseFS.mount(AbstractFuseFS.java:282)
... 1 more
It seems that fuse3 changed some options.
from jnr-fuse.
Hey, @TheHett! If I understand correctly, the utility that you tried to compile was in c. For jnr-fuse, only binary compatibility is important. I'll try to check whether the smoke tests pass with fuse3 installed.
from jnr-fuse.
Hey, @xuchen-plus! I believe these parameters are specified by alluxio, https://github.com/Alluxio/alluxio/blob/master/docs/_data/table/Alluxio-FUSE-parameter.csv.
Looking at the release notes, it seems like the option was removed from libfuse:
The
-o big_writes
mount option has been removed. It is now always active. File systems that want to limit the size of write requests should use the-o max_write=<N>
option instead.
It's probably worth exposing these options either programmatically or at least providing a check that allows for checking the fuse version from java.
from jnr-fuse.
It seems that fuse3 changed some options.
However, the error message confirms that the fuse library is discovered correctly.
from jnr-fuse.
But when I tried to run alluxio with fuse3.9, the fuse reported it's not compatible in API level.
root@iZj6c61fdnjcrcrc2sevsfZ:/# ls /alluxio-fuse/
ls: reading directory '/alluxio-fuse/': Function not implemented
root@iZj6c61fdnjcrcrc2sevsfZ:/alluxio-fuse# cp /alluxio-fuse/abc /tmp
cp: cannot open '/alluxio-fuse/abc' for reading: Operation not supported
And in the logs of alluxio-fuse, I noticed:
Starting alluxio-fuse on local host.
fuse: warning: library too old, some operations may not not work
2020-01-28 12:27:51,023 INFO AlluxioFuseFileSystem - getattr(/)
2020-01-28 12:28:08,682 INFO AlluxioFuseFileSystem - getattr(/)
2020-01-28 12:28:33,593 INFO AlluxioFuseFileSystem - getattr(/)
2020-01-28 12:28:41,152 INFO AlluxioFuseFileSystem - getattr(/)
2020-01-28 12:28:45,814 INFO AlluxioFuseFileSystem - getattr(/abc)
2020-01-28 12:28:45,815 ERROR AlluxioFuseFileSystem - Truncate is not supported /abc
from jnr-fuse.
@SerCeMan One thing I discovered is that only FUSE 3 supports fuse_fill_dir_flags
and the option to return file stats in readdir
which the kernel caches. This is useful to simplify, eg, an S3 client because the S3 API returns file stats during listing. Otherwise they need to be cached manually. Similarly, I see a cache_readdir
flag in fuse_file_info
which should cache readdir results. Very useful stuff.
from jnr-fuse.
Related Issues (20)
- Migrate to maven central from JCenter HOT 1
- Mounting the file system always blocks HOT 2
- How to set `birth_time` in `getattr` HOT 2
- Umount on Mac OS X doesn't work
- Java 9 module support HOT 1
- write throughput very low compared to read HOT 1
- Problem with samba share folders (jnr-fuse + winfsp) HOT 2
- Capturing SetSecurity events HOT 2
- Fix CVE-2014-4043 HOT 4
- Wrong dependency scopes in release 0.5.6 HOT 2
- GraalVM native image support
- Winfsp and jnr-fuse not working HOT 3
- Why not implement the inode interface provided by kernel fuse to replace the current path interface? HOT 5
- Program doesn't shut down properly in some cases on windows
- JVM crash with jnr-fuse and javafx
- WinFsp 1.12 doesn't pass the CI check
- Test failures on AWS Graviton (ARM, aarch64 GNU/Linux)
- Winfsp read callback random offset
- I can't get getxattr() working HOT 1
- -bash: cd : mydirectory: Input/output error HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jnr-fuse.