Open Ellested opened 4 years ago
I've noticed that using a watcher on the root, produces a lot of change events from the memory file system. I haven't looked into the details, but I guess the implementation is built around a block write or similar. Anyway, if this behavior is not expected, I could take a deeper look to see if I can find something.
I can't tell, I have not dug into how much different are the events from a physical compare to the in memory representation.
I've also experienced deadlocks when accessing the MemoryFileSystem. I wonder if the library itself is supposed to be thread safe or not. The file system itself obviously have locks, but I'm not sure if I need to protect thread access to the zio API on top of that.
This should not happen, so it might be a bug in the library.
Just a note, on a couple of things I've come across while working with zio.
I'm using a configuration with a mount file system as the root, which is mounting both physical and memory file systems.
I've noticed that using a watcher on the root, produces a lot of change events from the memory file system. I haven't looked into the details, but I guess the implementation is built around a block write or similar. Anyway, if this behavior is not expected, I could take a deeper look to see if I can find something.
I've also experienced deadlocks when accessing the MemoryFileSystem. I wonder if the library itself is supposed to be thread safe or not. The file system itself obviously have locks, but I'm not sure if I need to protect thread access to the zio API on top of that.