Feature #2620

Updated by Tom Clegg over 7 years ago

* 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.