Keep supports I/O locking
(Total: 26.00 h)
- Lock is per-volume. It's the sysadmin's problem to ensure volumes don't share a spindle.
- Lock is in-process (not flock). It's the sysadmin's problem to ensure keep servers don't share a volume.
- Enable per-volume lock with -serialize flag.
- Exempt from lock behavior: HEAD, index, and the process of discovering whether a block is present during a GET or PUT. In other words, we aren't strictly limiting IO to one client per spindle: we're assuming the OS has good enough cache behavior to support hordes of readdir operations alongside a big read/write without (statistically) causing thrash.
Updated by Tim Pierce almost 9 years ago
- Tracker changed from Bug to Feature
- Subject changed from Keep I/O locking to Keep supports I/O locking
An admin should be able to enable I/O locking: a per-spindle lock that prevents Keep from reading or writing to more than one file at a time. I/O operations on different spindles may still be executed concurrently.