- Mar 20, 2019
-
-
Tommaso Tocci authored
-
Tommaso Tocci authored
When the pid file already exists don't try to kill the previously running daemon. Just print an error and exit.
-
- Mar 06, 2019
-
-
Tommaso Tocci authored
gid and uid metadata fields have never been used and can be removed safely
-
Tommaso Tocci authored
The access RPC have been removed. The POSIX access functionality now is implemented through the stat RPC. This makes code easier to maintain and modify. There would be a little performance degradation on the POSIX access function because we are now retrieving also the metadata associated to the file. This change makes a lot easier to add symlink support
-
- Mar 05, 2019
-
-
Tommaso Tocci authored
-
- Jan 31, 2019
-
-
Tommaso Tocci authored
- improved statfs system call - intercepted statvfs library call Both of the above function now report the aggregated real size of all the data-nodes. You can test this with `df "/tmp/gekkofs_mountpoint"` command
-
- Dec 07, 2018
-
-
Tommaso Tocci authored
Changes have been merged upstream [1] with commit `acb8c296a694d7e3e06756e7a102a9d1c92df0c8`. There is no more need to patch margo to expose enanched init function. [1]: https://xgitlab.cels.anl.gov/sds/margo/merge_requests/9
-
- Dec 06, 2018
-
-
Tommaso Tocci authored
Paths passed as parameter to the daemon needs to be canonicalized
-
- Nov 26, 2018
-
-
Tommaso Tocci authored
Since now there is only one margo instance there is no more difference between RPC and IPC. All the "ipc" occurence in the code have been removed in favor of "rpc"
-
Tommaso Tocci authored
-
Tommaso Tocci authored
-
- Nov 07, 2018
-
-
Tommaso Tocci authored
the functionality wasn't used at all and it will be implemented later with a different approach
-
Tommaso Tocci authored
Instead of passing only the mode as paramenter, we now pass an entire Metadata object in such a way that the parameter can be configured at compile time. For instace if we support symlinks we would like also to pass the target path
-
- Nov 04, 2018
-
-
Tommaso Tocci authored
-
- Oct 31, 2018
-
-
Tommaso Tocci authored
-
Tommaso Tocci authored
Implemented all the logic to handle truncate operation. Test: added truncate test
-
Tommaso Tocci authored
The ChunkStorage class now store the chunksize in order to perform runtime checks upon chunks bundaries.
-
Tommaso Tocci authored
Mercury now support shared memory autorouting. A single margo instance can be initialized and it will handle both shared memory communication and remote ones. If the endpoint of the RPC is local mercury will automatically use shared memory. Since there is only one margo instance all the duplicated code for rpc/ipc have been unified and simplified considerably. ------ The way in which client contact the server has changed. - Server initializes its own margo instance and generate the endpoint communication string using `HG_Addr_self`. - This endpoint description string is written on the pid file - When the client library loads it will fetch the server endpoint description from the pid file and will use that to contact the server.
-
- Oct 29, 2018
-
-
Tommaso Tocci authored
-
- Oct 28, 2018
-
-
Tommaso Tocci authored
margo, argobots and mercury have been updated. The abt-snoozer dep required by margo it is not needed anymore. RocksDB has been also updated to the lastest release
-
Tommaso Tocci authored
loggers can be now configured at execution time, by using environment variables for both server and client. Server: - ADAFS_LOG_LEVEL - ADAFS_DAEMON_LOG_PATH Client: - ADAFS_LOG_LEVEL - ADAFS_PRELOAD_LOG_PATH
-
- May 11, 2018
-
-
Tommaso Tocci authored
-
- 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
Now that we use only relative path on daemon side, also the initial creation of the root directory should be use a relative path.
-
- May 09, 2018
-
-
Tommaso Tocci authored
Data operation has been grouped under a ChunkStorage class that will manage all the data backend operations. The instance of this object is stored into the ADAFS_DATA sigleton.
-
Tommaso Tocci authored
-
Tommaso Tocci authored
-
- May 08, 2018
-
-
Tommaso Tocci authored
During daemon setup, multiple spdloggers are configured. Using spdlog::get("<LOGNAME>") is possible to retrieve those and use them in other part of the code.
-
- Apr 27, 2018
-
-
Tommaso Tocci authored
-
Tommaso Tocci authored
-
- Apr 08, 2018
-
-
Tommaso Tocci authored
Since the introduction of required parameters wasn't possible to show the help message. In fact the --help flag was checked after all other parameters.
-
- 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 24, 2018
-
-
Marc Vef authored
Review and fixes that died when rebasing all commits
-
- Mar 23, 2018
-
- Mar 09, 2018
- Mar 07, 2018
-
-
Marc Vef authored
-
Marc Vef authored
- Previously the directory hierarchy was not clear regarding to which file belong to which part of the project (client or daemon). Further, we will have other clients in the future (such as Fuse). - CMake files now differentiate between include dirs for all targets and target specific ones. - Removed duplicate -pg flag. - Not listing header files when adding executables or libraries is considered bad practice. Note that include_directories() is adding include paths to the code while adding all files used for executables and libraries provide the context which files belong to each binary. When only include_directories() is set, CMake assumes that all files belong to a binary (which is not necessarily true). As a result, some IDEs may break as the do not support this assumption. In general we should almost always favor explicitness over implicitness.
-
- Mar 05, 2018
-
-
Marc Vef authored
ADA-FS's statfs will fill the struct mostly with rough estimations. It is not supposed to return accurate data but "some" data for applications to work
-