From 44defc1f50a8f2504570a8932edb63c9555dc15b Mon Sep 17 00:00:00 2001 From: Gabriel Corona Date: Tue, 1 Dec 2015 12:07:57 +0100 Subject: [PATCH 1/1] [surf] Remove sg_platf_mount_cb --- src/surf/sg_platf.cpp | 37 ++++++++++++++++++++++++------------- src/surf/storage_n11.cpp | 31 +------------------------------ 2 files changed, 25 insertions(+), 43 deletions(-) diff --git a/src/surf/sg_platf.cpp b/src/surf/sg_platf.cpp index a94e2ce34b..372fb59496 100644 --- a/src/surf/sg_platf.cpp +++ b/src/surf/sg_platf.cpp @@ -38,8 +38,6 @@ xbt_dynar_t sg_platf_bypassASroute_cb_list = NULL; // of sg_platf_bypassASroute_ xbt_dynar_t sg_platf_trace_cb_list = NULL; xbt_dynar_t sg_platf_trace_connect_cb_list = NULL; -xbt_dynar_t sg_platf_mount_cb_list = NULL; // of sg_platf_storage_cb_t - /* ***************************************** */ /* TUTORIAL: New TAG */ @@ -79,8 +77,6 @@ void sg_platf_init(void) { sg_platf_trace_cb_list = xbt_dynar_new(sizeof(sg_platf_trace_cb_t), NULL); sg_platf_trace_connect_cb_list = xbt_dynar_new(sizeof(sg_platf_trace_connect_cb_t), NULL); - sg_platf_mount_cb_list = xbt_dynar_new(sizeof(sg_platf_storage_cb_t), NULL); - /* ***************************************** */ /* TUTORIAL: New TAG */ @@ -109,8 +105,6 @@ void sg_platf_exit(void) { xbt_dynar_free(&sg_platf_bypassRoute_cb_list); xbt_dynar_free(&sg_platf_bypassASroute_cb_list); - xbt_dynar_free(&sg_platf_mount_cb_list); - /* ***************************************** */ /* TUTORIAL: New TAG */ @@ -289,13 +283,33 @@ void sg_platf_new_mstorage(sg_platf_mstorage_cbarg_t mstorage) // xbt_free(mnt); // XBT_DEBUG("ROUTING Mount a storage name '%s' with type_id '%s'",mstorage->name, mstorage->id); } + +static void mount_free(void *p) +{ + mount_t mnt = (mount_t) p; + xbt_free(mnt->name); +} + void sg_platf_new_mount(sg_platf_mount_cbarg_t mount){ - unsigned int iterator; - sg_platf_mount_cb_t fun; - xbt_dynar_foreach(sg_platf_mount_cb_list, iterator, fun) { - fun(mount); + // Verification of an existing storage +#ifndef NDEBUG + void* storage = xbt_lib_get_or_null(storage_lib, mount->storageId, ROUTING_STORAGE_LEVEL); +#endif + xbt_assert(storage,"Disk id \"%s\" does not exists", mount->storageId); + + XBT_DEBUG("ROUTING Mount '%s' on '%s'",mount->storageId, mount->name); + + s_mount_t mnt; + mnt.storage = surf_storage_resource_priv(surf_storage_resource_by_name(mount->storageId)); + mnt.name = xbt_strdup(mount->name); + + if(!mount_list){ + XBT_DEBUG("Create a Mount list for %s",A_surfxml_host_id); + mount_list = xbt_dynar_new(sizeof(s_mount_t), mount_free); } + xbt_dynar_push(mount_list, &mnt); } + void sg_platf_new_route(sg_platf_route_cbarg_t route) { unsigned int iterator; sg_platf_route_cb_t fun; @@ -538,9 +552,6 @@ void sg_platf_AS_begin_add_cb(sg_platf_AS_cb_t fct) { void sg_platf_AS_end_add_cb(sg_platf_AS_cb_t fct) { xbt_dynar_push(sg_platf_AS_end_cb_list, &fct); } -void sg_platf_mount_add_cb(sg_platf_mount_cb_t fct) { - xbt_dynar_push(sg_platf_mount_cb_list, &fct); -} void sg_platf_route_add_cb(sg_platf_route_cb_t fct) { xbt_dynar_push(sg_platf_route_cb_list, &fct); } diff --git a/src/surf/storage_n11.cpp b/src/surf/storage_n11.cpp index 8e13f5ca60..bfd139d989 100644 --- a/src/surf/storage_n11.cpp +++ b/src/surf/storage_n11.cpp @@ -42,41 +42,12 @@ static XBT_INLINE void routing_storage_host_free(void *r) xbt_dynar_free(&dyn); } -static void mount_free(void *p) +void storage_register_callbacks() { - mount_t mnt = (mount_t) p; - xbt_free(mnt->name); -} - -static void storage_parse_mount(sg_platf_mount_cbarg_t mount) -{ - // Verification of an existing storage -#ifndef NDEBUG - void* storage = xbt_lib_get_or_null(storage_lib, mount->storageId, ROUTING_STORAGE_LEVEL); -#endif - xbt_assert(storage,"Disk id \"%s\" does not exists", mount->storageId); - - XBT_DEBUG("ROUTING Mount '%s' on '%s'",mount->storageId, mount->name); - - s_mount_t mnt; - mnt.storage = surf_storage_resource_priv(surf_storage_resource_by_name(mount->storageId)); - mnt.name = xbt_strdup(mount->name); - - if(!mount_list){ - XBT_DEBUG("Create a Mount list for %s",A_surfxml_host_id); - mount_list = xbt_dynar_new(sizeof(s_mount_t), mount_free); - } - xbt_dynar_push(mount_list, &mnt); -} - -void storage_register_callbacks() { - ROUTING_STORAGE_LEVEL = xbt_lib_add_level(storage_lib, xbt_free_f); ROUTING_STORAGE_HOST_LEVEL = xbt_lib_add_level(storage_lib, routing_storage_host_free); ROUTING_STORAGE_TYPE_LEVEL = xbt_lib_add_level(storage_type_lib, routing_storage_type_free); SURF_STORAGE_LEVEL = xbt_lib_add_level(storage_lib, surf_storage_resource_free); - - sg_platf_mount_add_cb(storage_parse_mount); } /********* -- 2.20.1