To make it possible to run restore and validate concurrently 1. Locks are now exclusive and non-exclusive 2. Waiting on lock is implemented