Code Monkey home page Code Monkey logo

Comments (13)

billziss-gh avatar billziss-gh commented on May 30, 2024

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.

xiaolong302 avatar xiaolong302 commented on May 30, 2024

Linux > Window > Mac. Eventually we will have all three platforms.

from cgofuse.

billziss-gh avatar billziss-gh commented on May 30, 2024

macOS does not support the FUSE3 API.

from cgofuse.

xiaolong302 avatar xiaolong302 commented on May 30, 2024

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.

ghz-max avatar ghz-max commented on May 30, 2024

@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.

billziss-gh avatar billziss-gh commented on May 30, 2024

@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.

darthShadow avatar darthShadow commented on May 30, 2024

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.

billziss-gh avatar billziss-gh commented on May 30, 2024

@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.

ghz-max avatar ghz-max commented on May 30, 2024

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.

billziss-gh avatar billziss-gh commented on May 30, 2024

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.

darthShadow avatar darthShadow commented on May 30, 2024

Yeah, fuse2 doesn't work very well but libfuse2 still works fine so rclone linked via cgofuse works fine too.

from cgofuse.

emm1R avatar emm1R commented on May 30, 2024

Any idea on the schedule on this?

from cgofuse.

jfantinhardesty avatar jfantinhardesty commented on May 30, 2024

@billziss-gh Have you had a chance to take a look at this?

from cgofuse.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.