A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
Merge with master and fix conflicts
[simgrid.git]
/
src
/
surf
/
storage.c
diff --git
a/src/surf/storage.c
b/src/surf/storage.c
index
4d82cd3
..
003c488
100644
(file)
--- a/
src/surf/storage.c
+++ b/
src/surf/storage.c
@@
-232,7
+232,7
@@
static void* storage_create_resource(const char* id, const char* model,const cha
{
storage_t storage = NULL;
- xbt_assert(!surf_storage_resource_
by_name(id
),
+ xbt_assert(!surf_storage_resource_
priv(surf_storage_resource_by_name(id)
),
"Storage '%s' declared several times in the platform file",
id);
storage = (storage_t) surf_resource_new(sizeof(s_storage_t),
@@
-269,13
+269,13
@@
static void* storage_create_resource(const char* id, const char* model,const cha
return storage;
}
-static void storage_finalize(
void
)
+static void storage_finalize(
surf_model_t storage_model
)
{
lmm_system_free(storage_maxmin_system);
storage_maxmin_system = NULL;
- surf_model_exit(s
urf_s
torage_model);
- s
urf_s
torage_model = NULL;
+ surf_model_exit(storage_model);
+ storage_model = NULL;
if(storage_list)
xbt_dynar_free(&storage_list);
@@
-285,11
+285,11
@@
static void storage_finalize(void)
storage_running_action_set_that_does_not_need_being_checked = NULL;
}
-static void storage_update_actions_state(double now, double delta)
+static void storage_update_actions_state(
surf_model_t storage_model,
double now, double delta)
{
surf_action_storage_t action = NULL;
surf_action_storage_t next_action = NULL;
- xbt_swag_t running_actions = s
urf_s
torage_model->states.running_action_set;
+ xbt_swag_t running_actions = storage_model->states.running_action_set;
// Update the disk usage
// Update the file size
@@
-333,7
+333,7
@@
static void storage_update_actions_state(double now, double delta)
return;
}
-static double storage_share_resources(double NOW)
+static double storage_share_resources(
surf_model_t storage_model,
double NOW)
{
XBT_DEBUG("storage_share_resources %f",NOW);
s_surf_action_storage_t action;
@@
-341,7
+341,7
@@
static double storage_share_resources(double NOW)
storage_t storage;
surf_action_storage_t write_action;
- double min_completion = generic_maxmin_share_resources(s
urf_s
torage_model->states.running_action_set,
+ double min_completion = generic_maxmin_share_resources(storage_model->states.running_action_set,
xbt_swag_offset(action, generic_lmm_action.variable),
storage_maxmin_system, lmm_solve);
@@
-495,6
+495,7
@@
static void surf_storage_model_init_internal(void)
xbt_swag_new(xbt_swag_offset(action, state_hookup));
surf_storage_model->name = "Storage";
+ surf_storage_model->type = SURF_MODEL_TYPE_STORAGE;
surf_storage_model->action_unref = storage_action_unref;
surf_storage_model->action_cancel = storage_action_cancel;
surf_storage_model->action_state_set = storage_action_state_set;
@@
-593,21
+594,23
@@
static xbt_dict_t parse_storage_content(char *filename, unsigned long *used_size
surf_stat_t content;
- while ((read = getline(&line, &len, file)) != -1) {
+ while ((read = xbt_getline(&line, &len, file)) != -1) {
+ if (read){
content = xbt_new0(s_surf_stat_t,1);
if(sscanf(line,"%s %d %s %s %ld %s %s %s",user_rights,&nb,user,group,&size,date,time,path)==8) {
- content->stat.date = xbt_strdup(date);
- content->stat.group = xbt_strdup(group);
- content->stat.size = size;
- content->stat.time = xbt_strdup(time);
- content->stat.user = xbt_strdup(user);
- content->stat.user_rights = xbt_strdup(user_rights);
- *used_size += content->stat.size;
- xbt_dict_set(parse_content,path,content,NULL);
- } else {
- xbt_die("Be sure of passing a good format for content file.\n");
- // You can generate this kind of file with command line:
- // find /path/you/want -type f -exec ls -l {} \; 2>/dev/null > ./content.txt
+ content->stat.date = xbt_strdup(date);
+ content->stat.group = xbt_strdup(group);
+ content->stat.size = size;
+ content->stat.time = xbt_strdup(time);
+ content->stat.user = xbt_strdup(user);
+ content->stat.user_rights = xbt_strdup(user_rights);
+ *used_size += content->stat.size;
+ xbt_dict_set(parse_content,path,content,NULL);
+ } else {
+ xbt_die("Be sure of passing a good format for content file.\n");
+ // You can generate this kind of file with command line:
+ // find /path/you/want -type f -exec ls -l {} \; 2>/dev/null > ./content.txt
+ }
}
}
if (line)
@@
-673,7
+676,7
@@
static void storage_parse_mount(sg_platf_mount_cbarg_t mount)
XBT_DEBUG("ROUTING Mount '%s' on '%s'",mount->id, mount->name);
s_mount_t mnt;
- mnt.id = surf_storage_resource_
by_name(mount->id
);
+ mnt.id = surf_storage_resource_
priv(surf_storage_resource_by_name(mount->id)
);
mnt.name = xbt_strdup(mount->name);
if(!mount_list){