From e99273780a983ac4a6fafbfbe91e7fdfb954d35c Mon Sep 17 00:00:00 2001 From: Frederic Suter Date: Wed, 29 Nov 2017 13:31:47 +0100 Subject: [PATCH] have disk size in the extension too --- include/simgrid/s4u/File.hpp | 2 ++ src/s4u/s4u_file.cpp | 5 +++-- src/surf/StorageImpl.hpp | 6 ++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/include/simgrid/s4u/File.hpp b/include/simgrid/s4u/File.hpp index e821cc196f..2bdd632b79 100644 --- a/include/simgrid/s4u/File.hpp +++ b/include/simgrid/s4u/File.hpp @@ -80,12 +80,14 @@ public: ~FileSystemStorageExt(); std::map* parseContent(std::string filename); std::map* getContent() { return content_; } + sg_size_t getSize() { return size_; } sg_size_t getUsedSize() { return usedSize_; } void decrUsedSize(sg_size_t size) { usedSize_ -= size; } void incrUsedSize(sg_size_t size) { usedSize_ += size; } private: std::map* content_; sg_size_t usedSize_ = 0; + sg_size_t size_ = 0; }; } } // namespace simgrid::s4u diff --git a/src/s4u/s4u_file.cpp b/src/s4u/s4u_file.cpp index b5dba9050b..f66b6812d7 100644 --- a/src/s4u/s4u_file.cpp +++ b/src/s4u/s4u_file.cpp @@ -168,6 +168,7 @@ int File::unlink() FileSystemStorageExt::FileSystemStorageExt(simgrid::s4u::Storage* ptr) { content_ = parseContent(ptr->getImpl()->content_name); + size_ = ptr->getImpl()->size_; } FileSystemStorageExt::~FileSystemStorageExt() @@ -233,7 +234,7 @@ void sg_storage_file_system_init() sg_size_t sg_storage_get_size_free(sg_storage_t st) { - return st->getImpl()->getSize() - st->extension()->getUsedSize(); + return st->extension()->getSize() - st->extension()->getUsedSize(); } sg_size_t sg_storage_get_size_used(sg_storage_t st) @@ -243,7 +244,7 @@ sg_size_t sg_storage_get_size_used(sg_storage_t st) sg_size_t sg_storage_get_size(sg_storage_t st) { - return st->getImpl()->getSize(); + return st->extension()->getSize(); } SG_END_DECL() diff --git a/src/surf/StorageImpl.hpp b/src/surf/StorageImpl.hpp index d83cd6231e..17036c1d7e 100644 --- a/src/surf/StorageImpl.hpp +++ b/src/surf/StorageImpl.hpp @@ -115,7 +115,6 @@ public: * @return The StorageAction corresponding to the writing */ virtual StorageAction* write(sg_size_t size) = 0; - virtual sg_size_t getSize() { return size_; } virtual std::string getHost() { return attach_; } static std::unordered_map* storagesMap() { return StorageImpl::storages; } @@ -124,11 +123,10 @@ public: lmm_constraint_t constraintRead_; /* Constraint for maximum write bandwidth*/ std::string typeId_; - sg_size_t usedSize_ = 0; - std::string content_name; + std::string content_name; // Only used at parsing time then goes to the FileSystemExtension + sg_size_t size_; // Only used at parsing time then goes to the FileSystemExtension private: - sg_size_t size_; static std::unordered_map* storages; // Name of the host to which this storage is attached. Only used at platform parsing time, then the interface stores // the Host directly. -- 2.20.1