Concurrent consistency
The filesystem is meant to be used concurrently by many network clients. The initial design allows for efficient concurrent read access, and some overlapping write access, however in some areas there are expected to be issues with concurrent writes by multiple clients.
For example, it may happen that if 2 clients update a file in some manner, the file upd…
The filesystem is meant to be used concurrently by many network clients. The initial design allows for efficient concurrent read access, and some overlapping write access, however in some areas there are expected to be issues with concurrent writes by multiple clients.
For example, it may happen that if 2 clients update a file in some manner, the file update time may not reflect the most recent update or the size be not in sync with the actual data present in storage.
The milestone is aiming at creating an underlying mechanisms which can be used to ensure consistency:
- optimistic locking (version tracking) of all nodes
- automatic file level locks where unavoidable
This milestone will ensure that the filesystem is POSIX compliant when (or after) access by multiple concurrent clients.