X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d1428a44b2e13f8c22afcb04c3315b6adbe6be85..3ad41a910feecc815ecd91d5cfceaa740068d7b4:/examples/s4u/io-file-system/s4u-io-file-system.cpp diff --git a/examples/s4u/io-file-system/s4u-io-file-system.cpp b/examples/s4u/io-file-system/s4u-io-file-system.cpp index 2c34333f94..0542fbfc1f 100644 --- a/examples/s4u/io-file-system/s4u-io-file-system.cpp +++ b/examples/s4u/io-file-system/s4u-io-file-system.cpp @@ -1,10 +1,10 @@ -/* Copyright (c) 2006-2018. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2006-2019. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ #include -#include +#include #include "simgrid/plugins/file_system.h" #include "simgrid/s4u.hpp" @@ -13,26 +13,24 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(s4u_test, "a sample log category"); class MyHost { public: - void show_info(std::unordered_map const& mounts) + void show_info(std::vector const& disks) { XBT_INFO("Storage info on %s:", simgrid::s4u::Host::current()->get_cname()); - for (auto const& kv : mounts) { - std::string mountpoint = kv.first; - simgrid::s4u::Storage* storage = kv.second; + for (auto const& d : disks) { + const char* mountpoint = d->get_property("mount"); // Retrieve disk's information - XBT_INFO(" %s (%s) Used: %llu; Free: %llu; Total: %llu.", storage->get_cname(), mountpoint.c_str(), - sg_storage_get_size_used(storage), sg_storage_get_size_free(storage), sg_storage_get_size(storage)); + XBT_INFO(" %s (%s) Used: %llu; Free: %llu; Total: %llu.", d->get_cname(), mountpoint, sg_disk_get_size_used(d), + sg_disk_get_size_free(d), sg_disk_get_size(d)); } } void operator()() { - std::unordered_map const& mounts = - simgrid::s4u::Host::current()->getMountedStorages(); + std::vector const& disks = simgrid::s4u::Host::current()->get_disks(); - show_info(mounts); + show_info(disks); // Open an non-existing file to create it std::string filename = "/home/tmp/data.txt"; @@ -42,7 +40,7 @@ public: XBT_INFO("Create a %llu bytes file named '%s' on /sd1", write, filename.c_str()); // check that sizes have changed - show_info(mounts); + show_info(disks); // Now retrieve the size of created file and read it completely const sg_size_t file_size = file->size(); @@ -54,8 +52,6 @@ public: write = file->write(100000); // Write 100,000 bytes XBT_INFO("Write %llu bytes on %s", write, filename.c_str()); - simgrid::s4u::Storage* storage = simgrid::s4u::Storage::by_name("Disk4"); - // Now rename file from ./tmp/data.txt to ./tmp/simgrid.readme std::string newpath = "/home/tmp/simgrid.readme"; XBT_INFO("Move '%s' to '%s'", file->get_path(), newpath.c_str()); @@ -70,15 +66,7 @@ public: // Close the file delete file; - // Now attach some user data to disk1 - XBT_INFO("Get/set data for storage element: %s", storage->get_cname()); - XBT_INFO(" Uninitialized storage data: '%s'", static_cast(storage->get_data())); - - storage->set_data(new std::string("Some user data")); - std::string* storage_data = static_cast(storage->get_data()); - XBT_INFO(" Set and get data: '%s'", storage_data->c_str()); - - delete storage_data; + show_info(disks); // Reopen the file and then unlink it file = new simgrid::s4u::File("/home/tmp/simgrid.readme", nullptr); @@ -86,7 +74,7 @@ public: file->unlink(); delete file; // Unlinking the file on "disk" does not free the object - show_info(mounts); + show_info(disks); } }; @@ -95,7 +83,7 @@ int main(int argc, char** argv) simgrid::s4u::Engine e(&argc, argv); sg_storage_file_system_init(); e.load_platform(argv[1]); - simgrid::s4u::Actor::create("host", simgrid::s4u::Host::by_name("denise"), MyHost()); + simgrid::s4u::Actor::create("host", simgrid::s4u::Host::by_name("bob"), MyHost()); e.run(); return 0;