X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7faacaf4e1fdc3014c3ed4e047c0264986771466..f2df13795e01302813a6aef10825ec7e922ce530:/src/surf/storage_n11.cpp diff --git a/src/surf/storage_n11.cpp b/src/surf/storage_n11.cpp index 4e07fe53c7..289e657470 100644 --- a/src/surf/storage_n11.cpp +++ b/src/surf/storage_n11.cpp @@ -72,7 +72,8 @@ static void parse_storage_init(sg_platf_storage_cbarg_t storage) ((storage_type_t) stype)->type_id, storage->content, storage->content_type, - storage->properties); + storage->properties, + storage->attach); } static void parse_mstorage_init(sg_platf_mstorage_cbarg_t /*mstorage*/) @@ -234,7 +235,7 @@ StorageN11Model::~StorageN11Model(){ } StoragePtr StorageN11Model::createResource(const char* id, const char* type_id, - const char* content_name, const char* content_type, xbt_dict_t properties) + const char* content_name, const char* content_type, xbt_dict_t properties, const char* attach) { xbt_assert(!surf_storage_resource_priv(surf_storage_resource_by_name(id)), @@ -249,7 +250,7 @@ StoragePtr StorageN11Model::createResource(const char* id, const char* type_id, StoragePtr storage = new StorageN11(this, id, properties, p_maxminSystem, Bread, Bwrite, Bconnection, - type_id, (char *)content_name, xbt_strdup(content_type), storage_type->size); + type_id, (char *)content_name, xbt_strdup(content_type), storage_type->size, (char *) attach); xbt_lib_set(storage_lib, id, SURF_STORAGE_LEVEL, static_cast(storage)); @@ -354,9 +355,9 @@ void StorageN11Model::updateActionsState(double /*now*/, double delta) StorageN11::StorageN11(StorageModelPtr model, const char* name, xbt_dict_t properties, lmm_system_t maxminSystem, double bread, double bwrite, double bconnection, - const char* type_id, char *content_name, char *content_type, sg_size_t size) + const char* type_id, char *content_name, char *content_type, sg_size_t size, char *attach) : Storage(model, name, properties, - maxminSystem, bread, bwrite, bconnection, type_id, content_name, content_type, size) { + maxminSystem, bread, bwrite, bconnection, type_id, content_name, content_type, size, attach) { XBT_DEBUG("Create resource with Bconnection '%f' Bread '%f' Bwrite '%f' and Size '%llu'", bconnection, bread, bwrite, size); } @@ -405,9 +406,10 @@ StorageActionPtr StorageN11::ls(const char* path) return action; } -StorageActionPtr StorageN11::open(const char* mount, const char* path) +StorageActionPtr StorageN11::open(char* mount, char* path) { XBT_DEBUG("\tOpen file '%s'",path); + sg_size_t size, *psize; psize = (sg_size_t*) xbt_dict_get_or_null(p_content, path); // if file does not exist create an empty file @@ -428,6 +430,9 @@ StorageActionPtr StorageN11::open(const char* mount, const char* path) StorageActionPtr action = new StorageN11Action(getModel(), 0, getState() != SURF_RESOURCE_ON, this, OPEN); action->p_file = file; + free(path); + free(mount); + return action; } @@ -496,26 +501,6 @@ void StorageN11::rename(const char *src, const char *dest) XBT_DEBUG("File %s doesn't exist",src); } -xbt_dict_t StorageN11::getContent() -{ - /* For the moment this action has no cost, but in the future we could take in account access latency of the disk */ - /*surf_action_t action = storage_action_execute(storage,0, LS);*/ - - xbt_dict_t content_dict = xbt_dict_new_homogeneous(NULL); - xbt_dict_cursor_t cursor = NULL; - char *file; - sg_size_t *psize; - - xbt_dict_foreach(p_content, cursor, file, psize){ - xbt_dict_set(content_dict,file,psize,NULL); - } - return content_dict; -} - -sg_size_t StorageN11::getSize(){ - return m_size; -} - /********** * Action * **********/