- May 10, 2018
-
-
Tommaso Tocci authored
Support for the following calls has been added: - opendir - readdir - closedir The readdir call use the new RPC get_dirents that ask to all the nodes (broadcast) about all the existing first-level entries of a specific directory.
-
Tommaso Tocci authored
In order to support directories functionalities opendir,readdir,closedir,etc.. the OpenDir class has been introduced. This is a new specialization of the OpenFile class so that OpenDir object can be stored in the open_file_map along with regular file.
-
Tommaso Tocci authored
Allow to add already instantiated OpenFile to the OpenFileMap. This will come in hands when we will have sub-classes of the OpenFile. In that case this new add function will accept all object that are derived from the OpenFile class. See directories functionalities.
-
Tommaso Tocci authored
In the case the open call has been called with the O_DIRECTORY flag the ENOTSUP (Operation not supported) will be returned.
-
Tommaso Tocci authored
-
- May 09, 2018
-
-
Tommaso Tocci authored
-
Tommaso Tocci authored
-
- May 08, 2018
-
-
Tommaso Tocci authored
-
Tommaso Tocci authored
-
Tommaso Tocci authored
-
Tommaso Tocci authored
-
Tommaso Tocci authored
-
Tommaso Tocci authored
-
Tommaso Tocci authored
Paths are now made relative to the mountdir at client side. The new relativize_path fucntion in the PreloadContext is used to check if a path is relative to the pseudo-mount directory and to make it relative
-
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 29, 2018
-
-
Tommaso Tocci authored
-
- Apr 16, 2018
-
-
Tommaso Tocci authored
-
Tommaso Tocci authored
-
- Apr 12, 2018
-
-
Marc Vef authored
-
Tommaso Tocci authored
In case the glibc could not be loaded through dlopen print the relative error and exit from the client
-
- Apr 10, 2018
-
-
Marc Vef authored
It is only relevant for sparse files but the current implementation has a too high overhead on a single node (~10%). We need to find a better solution at a later point.
-
- Apr 09, 2018
-
- Apr 08, 2018
-
-
Marc Vef authored
This is an optimization for mdtest which shows very slow performance in removing files, getting worse with an increasing number of nodes.
-
- Apr 06, 2018
-
-
Tommaso Tocci authored
Postpone the creation of the OpenFile object until we are sure that the file actually exists and we have enough access rigths for it.
-
Tommaso Tocci authored
Problem: In the case the path for which the check access is performed doesn't exists the server will set `out.err` with the correct error number (ENOENT). On client side the value of out.err is used as return value but the errno variable is not set.
-
- 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 03, 2018
-
-
Tommaso Tocci authored
Since POSIX.1-2001 the S_IFMT (0170000) bitmask of the file mode must contain the file type. At the moment we correctly support - [S_IFREG] regular file - [S_IFDIR] directory
-
- 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 25, 2018
-
-
Marc Vef authored
-
- Mar 23, 2018
-
-
Marc Vef authored
-
- Mar 22, 2018
-
-
Tommaso Tocci authored
-
Tommaso Tocci authored
target was the index of the cycle and target[target] was the actual identifier of the target. In some part of the code target was considered as the identifier directly. Now the index of the cycle is i and target is the actual identifier of the target.
-
Tommaso Tocci authored
-
Tommaso Tocci authored
The calculus (on clients) about the last chunk involved into a write/read operation was bugged. A new blocks_calc_util library has been introduced in order to make easier to perform this kind of calculus.
-
- Mar 19, 2018