- switch (surf_action_->get_state()) {
- case resource::Action::State::FAILED:
- state_ = SIMIX_FAILED;
- break;
- case resource::Action::State::FINISHED:
- state_ = SIMIX_DONE;
- break;
- default:
- THROW_IMPOSSIBLE;
+ if (surf_action_->get_state() == resource::Action::State::FAILED) {
+ if ((storage_ && not storage_->is_on()) || (disk_ && not disk_->is_on()))
+ state_ = State::FAILED;
+ else
+ state_ = State::CANCELED;
+ } else if (surf_action_->get_state() == resource::Action::State::FINISHED) {
+ state_ = State::DONE;