Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
authorPierre Veyre <pierre.veyre@cc.in2p3.fr>
Mon, 7 Oct 2013 08:52:18 +0000 (10:52 +0200)
committerPierre Veyre <pierre.veyre@cc.in2p3.fr>
Mon, 7 Oct 2013 08:52:18 +0000 (10:52 +0200)
Conflicts:
src/surf/storage.c

1  2 
src/msg/msg_io.c
src/surf/storage.c

diff --combined src/msg/msg_io.c
@@@ -146,7 -146,12 +146,12 @@@ int MSG_file_close(msg_file_t fd
   */
  int MSG_file_unlink(msg_file_t fd)
  {
-   return simcall_file_unlink(fd->simdata->smx_file);
+   int res = simcall_file_unlink(fd->simdata->smx_file);
+   free(fd->fullname);
+   xbt_free(fd->simdata);
+   xbt_free(fd->info);
+   xbt_free(fd);
+   return res;
  }
  
  /** \ingroup msg_file_management
@@@ -326,9 -331,5 +331,9 @@@ void *MSG_storage_get_data(msg_storage_
  xbt_dict_t MSG_storage_get_content(msg_storage_t storage)
  {
    return SIMIX_storage_get_content(storage);
 -  //return (simcall_storage_get_properties(storage));
 +}
 +
 +sg_storage_size_t MSG_storage_get_size(msg_storage_t storage)
 +{
 +  return SIMIX_storage_get_size(storage);
  }
diff --combined src/surf/storage.c
@@@ -203,22 -203,17 +203,22 @@@ static xbt_dict_t storage_get_content(v
    /* 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);*/
  
 -  void *st = surf_storage_resource_priv(storage);
 +  void *storage_resource = surf_storage_resource_priv(storage);
    xbt_dict_t content_dict = xbt_dict_new_homogeneous(NULL);
    xbt_dict_cursor_t cursor = NULL;
    char *file;
-   char *size;
-   xbt_dict_foreach(((storage_t)storage_resource)->content, cursor, file, size){
+   sg_storage_size_t *size;
+   xbt_dict_foreach(((storage_t)st)->content, cursor, file, size){
      xbt_dict_set(content_dict,file,(void*)size,NULL);
    }
    return content_dict;
  }
  
 +static sg_storage_size_t storage_get_size(void *storage){
 +  void *storage_resource = surf_storage_resource_priv(storage);
 +  return ((storage_t)storage_resource)->size;
 +}
 +
  static void* storage_create_resource(const char* id, const char* model,
      const char* type_id, const char* content_name, const char* content_type, xbt_dict_t properties){
    storage_t storage = NULL;
@@@ -527,10 -522,11 +527,10 @@@ static void surf_storage_model_init_int
    surf_storage_model->extension.storage.ls = storage_action_ls;
    surf_storage_model->extension.storage.get_properties = storage_get_properties;
    surf_storage_model->extension.storage.get_content = storage_get_content;
 -
 +  surf_storage_model->extension.storage.get_size = storage_get_size;
    if (!storage_maxmin_system) {
      storage_maxmin_system = lmm_system_new(storage_selective_update);
    }
 -
  }
  
  void surf_storage_model_init_default(void)