pub enum StoreLockError {
AlreadyOpen(StoreId),
BootstrapPending(StoreId),
ReplacementUnfinished {
store: StoreId,
by: ReplacedBy,
},
DeletionUnfinished(StoreId),
WrongDirectory(StoreId),
File(FileError),
Bug(Bug),
}Expand description
A store in use is distinct from a filesystem failure.
Variants§
AlreadyOpen(StoreId)
A live instance or another process prevents the requested access. Async opens wait for a closing instance in this process to release it.
BootstrapPending(StoreId)
An unfinished first installation must be resumed by the call that began it: a restore or join with its code. A restore on a join’s installation, or a join on a recorded restore’s, is refused too (§13.4).
ReplacementUnfinished
A replacement of this device’s installation recorded itself, just before its fresh device registered, and did not finish. Only the call it names finishes it; the other is refused before anything changes. Deletion removes it instead (§19.3).
Fields
by: ReplacedByThe call that began the replacement.
DeletionUnfinished(StoreId)
This device is deleting the store and leaving it, and its deletion recorded itself, just before it journaled the device’s removal, and did not finish. Opening and replacing the store are refused before anything changes; only finishing the deletion, or discarding the store, ends it (E1).
WrongDirectory(StoreId)
A supplied lock protects a different directory.
File(FileError)
Opening or locking the lock file failed for another reason, or did
not run because its runtime is shutting down (FileError::Shutdown).
Bug(Bug)
Taking the lock panicked on the blocking pool: a bug, which the caller reports (E15).