Comments (11)
I do not believe that this is possible with the regular FUSE API.
WinFsp on Windows and FUSE low-level on UNIX do have the capability to satisfy a readdir asynchronously. But this capability cannot be exposed via the regular FUSE API.
from cgofuse.
Is it possible to modify the current fuse API of cgofuse to make it possible? If yes, can you give me some pointers on how it could be done?
from cgofuse.
As said this is not possible within the FUSE high-level API.
For Windows you would have to use the native WinFsp API. For UNIX you would have to use the FUSE low-level API. In either case cgofuse would not be of much help to you.
from cgofuse.
Which Winfsp API should I use to implement this async mechanism?
from cgofuse.
You would use the native WinFsp API:
https://github.com/winfsp/winfsp/wiki/WinFsp-API-winfsp.h
See the ReadDirectory
operation.
from cgofuse.
Thanks for the pointer. After digging a little bit, I found previous issue on rclone that mentioned that with the FileSystemHost.Notify() we can trigger the file explorer to reload the directory when we have new element available right?
from cgofuse.
Yes, that's possible.
from cgofuse.
Is the FileSystemHost.Notify() function only works on Windows? I saw the NotifyFs only made available for Windows. I tried to used this function on Mac but I wouldn't see the same effect as on windows, the Notify() return false. Could you tell me if I'm missing something?
from cgofuse.
The notify functionality is only available on Windows. It is a WinFsp extension not available on FUSE.
from cgofuse.
Do you have any recommendation on how we can port it to Fuse? I would make a PR to have this function available for Fuse
from cgofuse.
Hello @billziss-gh with winfsp on windows, I only manage to notify the file explorer that there is a new file when emit an event on the specific file. The file explorer seems to add only the file indicated in the event instead of reloading the whole folder. This cause a few issue when I have a lot of files popping up, the file explorer tent to ignore these events. Is there anyway I can trigger a full reload of the file explorer instead of it just adding a single file per event at a time?
from cgofuse.
Related Issues (20)
- 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
- Failing to mount: The service has failed to start (Status=c0000034) HOT 1
- *winfuse.Stat_t.Uid is uint32 but on windows it's supposed to be a string HOT 1
- File copies using `dd` for cgofuse (memfs/ custom filesystem) are super slow on Windows 10 using PowerShell/MINGW64 terminal HOT 4
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.