Comments (13)
The problem is that FUSE2 is the latest version of FUSE that is supported across all platforms that cgofuse supports.
Only Linux and Windows/WinFsp have support for FUSE3. Which platform are you interested in?
from cgofuse.
Linux > Window > Mac. Eventually we will have all three platforms.
from cgofuse.
macOS does not support the FUSE3 API.
from cgofuse.
another question which is not related to fuse version. I am trying to understand how the application user space open
call gets hook into fuse open method. I looked at kernal, it's using vfs_open which in term will send msg to the queue and the msg will be picked up by user space open method. I wrote a test problem to have concurrent 50 threads to open the SAME file, however I only noticed the fuse open call only got called once. I am wondering why it's not called 50 times for each thread. I looked at linux kernel, it doesn't seem there is any lock to prevent that.
from cgofuse.
@billziss-gh FUSE2 is EOL. I would be really interested in a fuse3 port.
What could decide you to port it? I can't help you with C, how about sponsoring it?
from cgofuse.
@ghz-gehtz
FUSE2 is the only cross-platform user-mode file system layer today. Even on Linux many distros did not include FUSE3 until recently.
I agree that the porting work to FUSE3 will have to be done eventually, even if it is only for Linux. The work should be done in such a way as to support both old (FUSE2) and new (FUSE3) distros. Even more importantly, the work should be done in a way as to not disrupt other (non-Linux) platforms.
This makes the work non-trivial and time-consuming.
In any case if you are serious about sponsoring such an effort, you can contact me directly: billziss at navimatics dot com. Please do note that I apply commercial development rates for commissioned work.
from cgofuse.
Hi @billziss-gh,
Did you get any chance to work on this? Would it help to setup some sort of crowdfunded bounty for this?
I also did find this recently, in case it helps in anyway: https://github.com/Azure/azure-storage-fuse/tree/main/component/libfuse
from cgofuse.
@darthShadow I have not had the chance to look into FUSE3 support for cgofuse.
Has the adoption of FUSE3 on Linux distros reached the point where it makes this support necessary?
from cgofuse.
In ubuntu 22.04, fuse2 can be installed but a lot of things seem to break:
https://askubuntu.com/a/1412529
https://github.com/AppImage/AppImageKit/wiki/FUSE#install-fuse
The latest version of libfuse 2 is from 2019 and there will be none after.
from cgofuse.
It looks like we may have to update cgofuse to support FUSE3 on Linux. Ideally this should be done in a manner transparent to users of this package and it should support both FUSE2 and FUSE3 at runtime (whichever is present).
I am currently very busy, so if anyone wants to try this I can provide some guidance. Otherwise, it may be at least a few weeks (and possibly months) before I have the time to look into it myself.
from cgofuse.
Yeah, fuse2 doesn't work very well but libfuse2 still works fine so rclone linked via cgofuse works fine too.
from cgofuse.
Any idea on the schedule on this?
from cgofuse.
@billziss-gh Have you had a chance to take a look at this?
from cgofuse.
Related Issues (20)
- Virtio-FS disk not showing after upgrade to 1.9 from 1.9B2. HOT 1
- On macOS, under load, files appearing twice or disappearing when running `ls`, unless `readdir` is sorted HOT 14
- Occasional crash under Windows - use after free? HOT 9
- . HOT 1
- Write method not called HOT 1
- Enable LOCK feature HOT 2
- How to increase buffer size? (max_pages and libfuse3) HOT 1
- Mount and Unmount Result
- Mixup of O_EXCL and O_TRUNC constant values CGO vs non CGO HOT 13
- warning: "FUSE_USE_VERSION" redefined HOT 1
- possible to call cheat engine with cgofuse HOT 1
- Support ARM architecture on Linux
- Incorrect writes from fuse HOT 12
- Need to know when the fuse service is ready HOT 4
- Please provide a way to retrieve information about the fuse implementation
- memfs example problems
- Golang Windows Passthrough version HOT 1
- command line options for Memfs HOT 8
- How can I not let it download video/image files automatically? HOT 3
- Mirrorfs? HOT 2
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 cgofuse.