- Oct 17, 2018
-
-
Tommaso Tocci authored
-
Tommaso Tocci authored
-
- Oct 16, 2018
-
-
Tommaso Tocci authored
-
Tommaso Tocci authored
-
Tommaso Tocci authored
-
Tommaso Tocci authored
ensure rpc_addresses object have been initialized before we use it for the first time
-
- Oct 15, 2018
-
-
Tommaso Tocci authored
the functionality wasn't used at all and it will be implemented later with a different approach
-
- Oct 04, 2018
-
-
Tommaso Tocci authored
-
Tommaso Tocci authored
-
- Sep 04, 2018
-
-
Tommaso Tocci authored
-
- Jul 19, 2018
-
-
Tommaso Tocci authored
-
Tommaso Tocci authored
Some of the variables of stat struct are not initialized, thus they will remains will unpredictable junks data from memory. This random values could induct strange behaviours on user applications. Even if we don't support some of the fields in the struct stat, it is necessary to set them to some default value.
-
Tommaso Tocci authored
According to the glibc [1] the stat64 function family would be called only on 32-bit machine. To be sure we still intercept the function, but we now throw a NOTSUP error. In this way we can drop the adafs_stat64 function and implement just the logic to populate the `struct stat`. [1]: https://github.molgen.mpg.de/git-mirror/glibc/blob/20003c49884422da7ffbc459cdeee768a6fee07b/sysdeps/unix/sysv/linux/generic/xstat.c#L46
-
Tommaso Tocci authored
command like cp are relying on the dev_no and ino_num to monitor if the file have been changed during the copy operation. dev_no was not properly set, thus it was random. Now it is always 0/0
-
- May 28, 2018
-
-
Tommaso Tocci authored
The `cp` command double check the inode number to detect file changes during transfers, we need to set it properly and keep it consistent. inode(file) = std::hash(file_path)
-
- May 17, 2018
-
-
Tommaso Tocci authored
-
- May 16, 2018
-
-
Tommaso Tocci authored
-
- May 11, 2018
-
-
Tommaso Tocci authored
-
- May 10, 2018
-
-
Tommaso Tocci authored
-
- May 08, 2018
-
-
Tommaso Tocci authored
-
Tommaso Tocci authored
The new PreloadContext class is used as singleton to store the general context information of the interception library. The plan is to move global accessed variables into this sigleton. At the moment just the logger object has been moved into it.
-
- Apr 05, 2018
-
-
Marc Vef authored
Assert is put after a more detailed error message is written to the log.
-
Marc Vef authored
Previously, host rpc addresses have been looked up lazily when a request was done. This is not necessary as all hosts are looked up anyways while the file system is running. Now, all RPC addresses are looked up when the environment is initialized. After that, the rpc_address map is only accessed read-only and does not require a mutex anymore.
-
- Apr 02, 2018
-
-
Marc Vef authored
Previously, clients would look for the daemon by name which was not robust. If the daemon was started with valgrind for example, clients would not find the daemon. Similar to other applications a daemon now creates a pid file with information about its pid and its started mountdir. Proper errorhandling on server and client side was added. Multiple daemons per node are explicitly not allowed for now!
-
- Mar 19, 2018
-
-
Marc Vef authored
-
- Mar 15, 2018
-
-
Marc Vef authored
The LRU map caused multiple issues with memory mappings and caused severe errors and hanging situations. It has been replaced with a std::map. An Argobots mutex was added for rpc address lookups as many threads might insert and lookup this map in parallel. This caused bulk_transfer seqfauls as well as other file system crashes. Cleanup of file system logging.
-
Marc Vef authored
-
Marc Vef authored
-
- Mar 04, 2018
-
- Mar 02, 2018
- Feb 12, 2018
- Jan 24, 2018
-
-
Marc Vef authored
Preload lib: RPC/IPC Mercury/Margo environments are only initialized if the mountdir path is used by the application For that, the daemon writes the mountdir (it was started with) to a configurable path to disk. The libraries read this value and only the process that uses part of this path will actually trigger the environment initialization. This forbids prior behavior where applications initialize the whole environment numerous times, although unused. For example, any MPI program will spawn multiple processes, all with the LD_PRELOAD environment variable set.
-
- Jan 23, 2018
-
-
Marc Vef authored
-
- Jan 19, 2018
-
-
Marc Vef authored
-
- Dec 17, 2017
-
-
Marc Vef authored
-
- Dec 15, 2017
-
-
Nafiseh Moti authored
-
- Dec 11, 2017
-
-
Marc Vef authored
-
- Nov 29, 2017
-
-
Marc Vef authored
-