- simgrid::kernel::resource::StorageType* stype;
- auto st = storage_types.find(storage->type_id);
- if (st != storage_types.end()) {
- stype = st->second;
- } else {
- xbt_die("No storage type '%s'", storage->type_id.c_str());
- }
-
- XBT_DEBUG("ROUTING Create a storage name '%s' with type_id '%s' and content '%s'", storage->id.c_str(),
- storage->type_id.c_str(), storage->content.c_str());
-
- known_storages.push_back(storage->id);
-
- // if storage content is not specified use the content of storage_type if any
- if (storage->content.empty() && not stype->content.empty()) {
- storage->content = stype->content;
- XBT_DEBUG("For disk '%s' content is empty, inherit the content (of type %s)", storage->id.c_str(),
- stype->id.c_str());
- }
-
- XBT_DEBUG("SURF storage create resource\n\t\tid '%s'\n\t\ttype '%s' "
- "\n\t\tmodel '%s' \n\t\tcontent '%s' "
- "\n\t\tproperties '%p''\n",
- storage->id.c_str(), stype->model.c_str(), stype->id.c_str(), storage->content.c_str(),
- storage->properties);
-
- auto s = surf_storage_model->createStorage(storage->id, stype->id, storage->content, storage->attach);
-
- if (storage->properties) {
- s->set_properties(*storage->properties);
- delete storage->properties;
- }
-}
-
-void sg_platf_new_storage_type(simgrid::kernel::routing::StorageTypeCreationArgs* storage_type)
-{
- xbt_assert(storage_types.find(storage_type->id) == storage_types.end(),
- "Reading a storage type, processing unit \"%s\" already exists", storage_type->id.c_str());
-
- simgrid::kernel::resource::StorageType* stype = new simgrid::kernel::resource::StorageType(
- storage_type->id, storage_type->model, storage_type->content, storage_type->properties,
- storage_type->model_properties, storage_type->size);
-
- XBT_DEBUG("Create a storage type id '%s' with model '%s', content '%s'", storage_type->id.c_str(),
- storage_type->model.c_str(), storage_type->content.c_str());
-
- storage_types[storage_type->id] = stype;
-}
-
-void sg_platf_new_mount(simgrid::kernel::routing::MountCreationArgs* mount)
-{
- xbt_assert(std::find(known_storages.begin(), known_storages.end(), mount->storageId) != known_storages.end(),
- "Cannot mount non-existent disk \"%s\"", mount->storageId.c_str());
-
- XBT_DEBUG("Mount '%s' on '%s'", mount->storageId.c_str(), mount->name.c_str());
-
- if (mount_list.empty())
- XBT_DEBUG("Create a Mount list for %s", A_surfxml_host_id);
- mount_list.insert({mount->name, simgrid::s4u::Engine::get_instance()->storage_by_name(mount->storageId)->get_impl()});