X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/dccf1b41e9c7b5a696f01abceaa2779fe65f154f..19e4a01d6e38e856dafa1a08942143a8ec7f5e34:/examples/msg/io-storage/io-storage.c diff --git a/examples/msg/io-storage/io-storage.c b/examples/msg/io-storage/io-storage.c index e63f69a902..69d0713305 100644 --- a/examples/msg/io-storage/io-storage.c +++ b/examples/msg/io-storage/io-storage.c @@ -4,6 +4,7 @@ * under the terms of the license (GNU LGPL) which comes with this package. */ #include "simgrid/msg.h" +#include "simgrid/plugins/file_system.h" XBT_LOG_NEW_DEFAULT_CATEGORY(storage,"Messages specific for this simulation"); @@ -39,12 +40,10 @@ static int host(int argc, char *argv[]){ /* - Create a 200,000 bytes file named './tmp/data.txt' on /sd1 */ char* file_name = xbt_strdup("/home/tmp/data.txt"); - msg_file_t file = NULL; - sg_size_t write, read, file_size; /* - Open an non-existing file which amounts to create it. */ - file = MSG_file_open(file_name, NULL); - write = MSG_file_write(file, 200000); // Write 200,000 bytes + msg_file_t file = MSG_file_open(file_name, NULL); + sg_size_t write = MSG_file_write(file, 200000); // Write 200,000 bytes XBT_INFO("Create a %llu bytes file named '%s' on /sd1", write, file_name); MSG_file_dump(file); @@ -53,9 +52,9 @@ static int host(int argc, char *argv[]){ XBT_INFO("Used size: %llu bytes", MSG_storage_get_used_size(storage)); /* - Retrieve the size of created file and read it completely */ - file_size = MSG_file_get_size(file); + sg_size_t file_size = MSG_file_get_size(file); MSG_file_seek(file, 0, SEEK_SET); - read = MSG_file_read(file, file_size); + sg_size_t read = MSG_file_read(file, file_size); XBT_INFO("Read %llu bytes on %s", read, file_name); /* - Then write 100,000 bytes in tmp/data.txt */ @@ -75,6 +74,7 @@ static int host(int argc, char *argv[]){ /* - Then retrieve this data */ char *data = MSG_file_get_data(file); XBT_INFO("User data attached to the file: %s", data); + xbt_free(data); MSG_file_close(file); free(file_name); @@ -94,19 +94,19 @@ static int host(int argc, char *argv[]){ /* - Finally dump disks contents */ XBT_INFO("*** Dump content of %s ***",MSG_host_get_name(MSG_host_self())); - xbt_dict_t contents = NULL; - contents = MSG_host_get_storage_content(MSG_host_self()); // contents is a dict of dicts - xbt_dict_cursor_t curs, curs2 = NULL; + xbt_dict_t contents = MSG_host_get_storage_content(MSG_host_self()); // contents is a dict of dicts + xbt_dict_cursor_t curs; + xbt_dict_cursor_t curs2 = NULL; char* mountname; xbt_dict_t content; char* path; - sg_size_t *size; + sg_size_t* psize; xbt_dict_foreach(contents, curs, mountname, content){ XBT_INFO("Print the content of mount point: %s",mountname); - xbt_dict_foreach(content,curs2,path,size){ - XBT_INFO("%s size: %llu bytes", path,*((sg_size_t*)size)); + xbt_dict_foreach (content, curs2, path, psize) { + XBT_INFO("%s size: %llu bytes", path, *psize); } - xbt_dict_free(&content); + xbt_dict_free(&content); } xbt_dict_free(&contents); return 1; @@ -115,6 +115,8 @@ static int host(int argc, char *argv[]){ int main(int argc, char *argv[]) { MSG_init(&argc, argv); + MSG_storage_file_system_init(); + MSG_create_environment(argv[1]); MSG_function_register("host", host); xbt_dynar_t hosts = MSG_hosts_as_dynar();