- Nov 18, 2024
-
-
Ramon Nou authored
Resolve "syscall 436 not logged / processed" Closes #308 #307 This MR adds support for close_range. However, as the upper limit could be "infinite"... we should stop once ge get to GKFS_****_FD. Close_range actually returns always 0, although there is some fd that does not exist. We add support for all the new syscalls from last kernels (Although not implemented), on the other hand we include the number of syscalls to complete the logging information as in the case of unknown syscall we don't have this information. We remove also the O_PATH check in gkfs_open, as this is used on last kernels (in cp *). It seems that it does not break anything and allows copy with * Closes #308 and #307 See merge request !201
-
Ramon Nou authored
-
Ramon Nou authored
-
Ramon Nou authored
-
Ramon Nou authored
-
Ramon Nou authored
-
Ramon Nou authored
Add: new Syscalls, syscall number on syscalls, removes O_PATH on gkfs_open, add close_range support Fix lint
-
- Nov 15, 2024
-
-
Ramon Nou authored
- Nov 08, 2024
-
- Nov 02, 2024
-
-
sevenuz authored
-
- Oct 04, 2024
- Oct 03, 2024
-
-
Ramon Nou authored
-
Ramon Nou authored
Resolve "dep_scripts: Unify `-d` and `-p` flags" This MR removes the separate `-d` and `-p` and combines them in one. `-d` was removed, specific dependencies are now set with `-p`. Therefore, the following options are available: - `-p default:latest` for accessing the latest dependencies from the default profile - `-p mercury@default:latest` for accessing the latest mercury dependencies only from the default profile Closes #188 Closes #188 See merge request !174
-
Ramon Nou authored
-
sevenuz authored
-
Julius Athenstaedt authored
-
Julius Athenstaedt authored
-
Julius Athenstaedt authored
-
Julius Athenstaedt authored
- Oct 02, 2024
-
- Oct 01, 2024
-
-
Julius Athenstaedt authored
-
- Sep 27, 2024
-
-
Marc Vef authored
-
Julius Athenstaedt authored
-
Julius Athenstaedt authored
-
Julius Athenstaedt authored
-
- Jul 22, 2024
-
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
Resolve "Shared file metadata congestion" During write operations, the client must update the file size on the responsible metadata daemon. The write size cache can reduce the metadata load on the daemon and reduce the number of RPCs during write operations, especially for many small I/O operations. In the past, we have observed that a daemon can become network-congested, especially for single shared files, many processes, and small I/O operations, which bottlenecks the overall I/O throughput. Nevertheless, the cache can have a broad impact on small I/O operations as 1 RPC for updating the size is removed which already improves small file I/O on a single node. Note that this cache may impact file size consistency in which stat operations may not reflect the actual file size until the file is closed. The cache does not impact the consistency of the file data itself. We did not observe any issues with the cache for HPC applications and benchmarks, but it technically breaks POSIX. So, for now, I suggest it to be experimental and opt-in. - `LIBGKFS_WRITE_SIZE_CACHE` - Enable caching the write size of files (default: OFF). - `LIBGKFS_WRITE_SIZE_CACHE_THRESHOLD` - Set the number of write operations after which the file size is synchronized with the corresponding daemon (default: 1000). The file size is further synchronized when the file is `close()`d or when `fsync()` is called. Depends on https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/194 Closes #62 Closes #62 See merge request !193
-
Marc Vef authored
-
Marc Vef authored
, enable by config and disable via `LIBGKFS_WRITE_SIZE_CACHE=OFF`. Flush happens on close/fsync. flush threshold can be changed via config or `LIBGKFS_WRITE_SIZE_CACHE_THRESHOLD=100`
-
Marc Vef authored
Resolve "Tests fail when symlink support is disabled" This MR does several things: 1. `SUPPORT_SYMLINKS` is now disabled by default. It didn't do much in the first place and only affects incomplete code. The corresponding README entry has been removed. The only thing it does support is accessing GekkoFS from a foreign namespace via a symbolic link. However, only `stat` seems to be working. 2. `GKFS_FOLLOW_EXTERNAL_SYMLINKS` was also disabled by default in this [MR](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/183). This caused the `test_symlink` to fail as it tested external symlinks into GekkoFS, not actual symlinks within GekkoFS. This can only be done via `lstat()` for each component of the path which is a performance risk under certain circumstances. Overall, this is the relevant CMake variable for the test. 3. Unify code formatting for CMake files. Closes #298 Closes #298 See merge request !198