New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FUSE+ACD/B2: Support for writing #824
Comments
Thanks for making a ticket about this. I agree it needs to be done, but it might not be easy! The two approaches are
|
The first part would be pretty fast and easy to test I assume? I'm no go expert but from my python experience it seems straightforward The 2nd part has some limitations as you mentioned in a commit, I'd be fine with that as long as the cache is always emptied when upload has finished |
I like the solution with the cache. A proper writeback LRU cache, with a user-adjustable size. Anything from 1 MB to 1 TB. That would also reduce network usage significantly for many use-cases. Most of the time the files would be served locally. I'm guessing you used hanwen/go-fuse, so maybe using a union fs could be useful for creating a cached mount. There's an example of a union fs in its repo. I've also seen that there is an LRU example in the respository of groupcache from the standard library. I hope this is helpful. |
@xelra this is mainly a write cache so that rclone can stat the file(s) properly as ACD and B2 doesn't support uploading unknown file sizes. |
The original intent of #711 was both a read and write cache. Probably should best be in two issues though depending on the complexity and the purpose. I can see it being useful for writes but the original intent was to an approach to allow caching locally with some way to clean it up (potentially an optional LRU flag or allow the user to do it manually). |
How many tickets are there for this? Regardless, see #890 for writing support for ACD. |
Hi,
I will provide a complete log this afternoon. |
1. Preallocated disk space method:
2. Direct write in acd mounted volume method
|
There is no seeking write support in AmazonDrive. So even if pre-allocating would finish, you cannot change individual blocks later on and the file would be reported as corrupt. For the latter case I assume your client writes data consecutively and either fills gaps with 0s or temporarily caches the file locally. Instead I suggest you download the file locally and then later upload it. |
thanks for answer: @breunigs
(This may be difficult for big file >20gb) yeah i will, but i currently use a DigitalOcean droplet with a low disk space (20gb), then i will write a automation bash script to create volume block from DO when needed for temp download file to save money :) |
@breunigs just wondering when you said
... can't |
I haven't tried, but you're welcome to do so. Also, which |
This is now implemented with the various |
Now that we have a properly working FUSE mount for reading, how about beeing able to write to it? :-)
Writing works for all except B2 and ACD?
The text was updated successfully, but these errors were encountered: