Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
get rid of "mode" parameter in the open file function. It wasn't used
[simgrid.git] / src / surf / workstation.c
index 13798ec37c74c0333f293aa4a937c9e1f3d32719..7d7c93b293ff6bfee8918d102f1143e1644c2fb0 100644 (file)
@@ -326,20 +326,21 @@ static storage_t find_storage_on_mount_list(void *workstation,const char* storag
   return st;
 }
 
-static surf_action_t ws_action_open(void *workstation, const char* mount, const char* path, const char* mode)
+static surf_action_t ws_action_open(void *workstation, const char* mount,
+                                    const char* path)
 {
   storage_t st = find_storage_on_mount_list(workstation, mount);
   XBT_DEBUG("OPEN on disk '%s'",st->generic_resource.name);
   surf_model_t model = st->generic_resource.model;
-  return model->extension.storage.open(st, mount, path, mode);
+  return model->extension.storage.open(st, mount, path);
 }
 
-static surf_action_t ws_action_close(void *workstation, surf_file_t fp)
+static surf_action_t ws_action_close(void *workstation, surf_file_t fd)
 {
-  storage_t st = find_storage_on_mount_list(workstation, fp->storage);
+  storage_t st = find_storage_on_mount_list(workstation, fd->storage);
   XBT_DEBUG("CLOSE on disk '%s'",st->generic_resource.name);
   surf_model_t model = st->generic_resource.model;
-  return model->extension.storage.close(st, fp);
+  return model->extension.storage.close(st, fd);
 }
 
 static surf_action_t ws_action_read(void *workstation, void* ptr, size_t size, size_t nmemb, surf_file_t stream)
@@ -382,6 +383,11 @@ static surf_action_t ws_action_ls(void *workstation, const char* mount, const ch
   return model->extension.storage.ls(st, path);
 }
 
+static size_t ws_file_get_size(void *workstation, surf_file_t stream)
+{
+  return stream->size;
+}
+
 static void surf_workstation_model_init_internal(void)
 {
   surf_workstation_model = surf_model_init();
@@ -441,18 +447,18 @@ static void surf_workstation_model_init_internal(void)
   surf_workstation_model->extension.workstation.stat = ws_action_stat;
   surf_workstation_model->extension.workstation.unlink = ws_action_unlink;
   surf_workstation_model->extension.workstation.ls = ws_action_ls;
+  surf_workstation_model->extension.workstation.get_size = ws_file_get_size;
 }
 
 void surf_workstation_model_init_current_default(void)
 {
   surf_workstation_model_init_internal();
-  xbt_cfg_setdefault_int(_sg_cfg_set, "network/crosstraffic", 1);
+  xbt_cfg_setdefault_boolean(_sg_cfg_set, "network/crosstraffic", xbt_strdup("yes"));
   surf_cpu_model_init_Cas01();
   surf_network_model_init_LegrandVelho();
 
   xbt_dynar_push(model_list, &surf_workstation_model);
   sg_platf_host_add_cb(workstation_new);
-//  sg_platf_postparse_add_cb(create_workstations);
 }
 
 void surf_workstation_model_init_compound()
@@ -463,5 +469,4 @@ void surf_workstation_model_init_compound()
   surf_workstation_model_init_internal();
   xbt_dynar_push(model_list, &surf_workstation_model);
   sg_platf_host_add_cb(workstation_new);
-//  sg_platf_postparse_add_cb(create_workstations);
 }