rfjakob / gocryptfs

Encrypted overlay filesystem written in Go
https://nuetzlich.net/gocryptfs/
MIT License
3.54k stars 252 forks source link

Running concurrent tasks? #253

Closed trumblejoe closed 6 years ago

trumblejoe commented 6 years ago

My question is essentially, does gocryptfs support concurrency? The ManPage options make mention so I believe so, but so perhaps I am doing something something wrong you could point out? My mount command is simple, the only option I add is -allow_other.

My use-case for gocryptfs on linux is a mount over an rclone cache of an rclone remote pointed at cloud storage. On windows I have something similar, a gocryptfs (cppcryptfs) mount over a NetDrive mount pointing to cloud storage.

In both of these examples, I am unable to use Plex (media server), to scan my library, while simultaneously watching something, or vice versa...or watch something while the daughter is watching something else on her tablet, etc. My original pain-staking way around this was to create multiple NetDrive mounts, with individual gocryptfs mounts on each one for each Plex Library and just never watch two things from the same library at the same time. It worked, and it really isn't that bad on windows, but for some practical reasons and my own sanity I would like to not continue this on my linux box.

rfjakob commented 6 years ago

Yes, all reads should run concurrently, and writes to different files should run concurrently.

The "rclone cache" is a local folder? Or is it some kind of mountpoint?

trumblejoe commented 6 years ago

It's a mountpoint of a local cache folder.

---Ok, I woke up this morning and it's working flawlessly. Reading multiple streams, reading and scanning files, all fine. I can only assume my update of gocryptfs from an older version had something to do with. Sorry for bringing this up, I've had the same setup for almost two years now and this has always been an issue I've had. I suppose it isn't anymore though!