host->pimpl_->storage_ = mount_list;
mount_list.clear();
+ host->pimpl_->disks_ = std::move(args->disks);
+ for (auto d : host->pimpl_->disks_)
+ d->set_host(host);
+
/* Change from the defaults */
if (args->state_trace)
host->pimpl_cpu->set_state_profile(args->state_trace);
delete cabinet->radicals;
}
-void sg_platf_new_disk(simgrid::kernel::routing::DiskCreationArgs* disk)
+simgrid::kernel::resource::DiskImpl* sg_platf_new_disk(simgrid::kernel::routing::DiskCreationArgs* disk)
{
- auto s = surf_disk_model->createDisk(disk->id, disk->read_bw, disk->write_bw);
-
+ simgrid::kernel::resource::DiskImpl* d = surf_disk_model->createDisk(disk->id, disk->read_bw, disk->write_bw);
if (disk->properties) {
- s->set_properties(*disk->properties);
+ d->set_properties(*disk->properties);
delete disk->properties;
}
+ simgrid::s4u::Disk::on_creation(*d->get_iface());
+ return d;
}
void sg_platf_new_storage(simgrid::kernel::routing::StorageCreationArgs* storage)