Move Starting drive state from OStoreDB to DataTransferSession
Summary
StartingUp
drive status is now set in DataTransferSession
. OStoreDB
is no longer responsible for setting of any drive state. Nevertheless, it still contains setDriveStatus()
used by reportPackers
to report the state change. This method not only changes the status itself, but also updates other values such as existing mount and next mount lists. They are used by getNextMount()
and some other methods. We may consider moving all this logic to Scheduler
(that already has similar method), but it won't be absolutely trivial.
This merge request also fixes the warning "unexpected drive state" when session changes from PendingFork
/Starting
to Scheduling
.
Putting all drives up/down is also fixed in CI tests. Before, CI didn't take into account other drive states (Running
, Unmounting
, etc). As a result the drives were not put down in some cases or were not recognized as up.
References
Closes #1159 (closed)