GekkoFS user library creation.
Build over replication/gekkofwd
changes. This MR aims to create a standalone library to use inside a client application without LD_PRELOAD
and syscall interception
.
The user library needs some changes as some syscall_no_intercept
calls are scattered through the logging and the general code of the client.
Also we need to do not link syscall_intercept
and to remove (or avoid) the gekkofs
client constructor.
There is an example of write
- read
on the example directory.
The user needs to link gkfs_user_lib.so and use user_functions.hpp (installed on include/gkfs directory)
Merge request reports
Activity
added 39 commits
-
7d4c585d...0916c555 - 20 commits from branch
master
- 0916c555...8b03dbf4 - 9 earlier commits
- b00ff754 - change forwarding option order
- fefe12a3 - Reduced syscall log
- 69d1e044 - Change CMake to remove Forward, changelog
- 3615063d - Disable GKFWD
- f5525c0f - remove endif
- 15c72260 - gkfwd leftover
- b007bfc6 - Creating Gekko API example
- a5cc36fb - 2 libs, disable syscall_intercept
- 31f42970 - Library finish
- e0fee784 - Create an user_functions.hpp
Toggle commit list-
7d4c585d...0916c555 - 20 commits from branch
added 27 commits
-
e0fee784...2835322a - 5 commits from branch
master
- 2835322a...8bac7172 - 12 earlier commits
- d2660157 - removed old include date/tz
- 3f346104 - Removal of date leftovers
- 6e6a9a21 - extra comma on merge
- 2413965c - Creating Gekko API example
- 362fdbba - 2 libs, disable syscall_intercept
- a8adf8e1 - Library finish
- 67e22861 - Create an user_functions.hpp
- 4c76843e - Update submodule commit hash and add new user
- 134cc489 - Adding gkfs_stat to the user lib
- e46fd685 - Add file_list function, remove and expand gkfs_lib example
Toggle commit list-
e0fee784...2835322a - 5 commits from branch
added 23 commits
-
137dd33f - 1 commit from branch
master
- 137dd33f...ad767d17 - 12 earlier commits
- 271b4a10 - removed old include date/tz
- 8699a0ab - Removal of date leftovers
- edcbcade - extra comma on merge
- 6356cb91 - Creating Gekko API example
- e4eee5ee - 2 libs, disable syscall_intercept
- fc78b4cb - Library finish
- ddd2e69b - Create an user_functions.hpp
- d7329711 - Update submodule commit hash and add new user
- 691fd0ad - Adding gkfs_stat to the user lib
- ccf3ac9e - Add file_list function, remove and expand gkfs_lib example
Toggle commit list-
137dd33f - 1 commit from branch
added 8 commits
- c4f37209 - Fix Git submodules
- cac14d84 - Creating Gekko API example
- 82200afb - 2 libs, disable syscall_intercept
- 339a5ce7 - Library finish
- a245eb7c - Create an user_functions.hpp
- 5a2d4a0c - Add headers and new user function headers
- a8819275 - Adding gkfs_stat to the user lib
- 18f8794f - Add file_list function, remove and expand gkfs_lib example
Toggle commit listadded 8 commits
- 10d1b9d5 - Fix submodules and CMake
- 7afe20d6 - Creating Gekko API example
- 17a5a1e5 - 2 libs, disable syscall_intercept
- 7955a5f6 - Library finish
- 3bd05e27 - Create an user_functions.hpp
- 7d2c3868 - Add headers and new user function headers
- 459f7685 - Adding gkfs_stat to the user lib
- 52f21e7e - Add file_list function, remove and expand gkfs_lib example
Toggle commit list@rnou When linking there is this warning:
/usr/lib/gcc/x86_64-pc-linux-gnu/12/../../../../x86_64-pc-linux-gnu/bin/ld: warning: CMakeFiles/gkfs_user_lib.dir/syscalls/util.S.o: missing .note.GNU-stack section implies executable stack /usr/lib/gcc/x86_64-pc-linux-gnu/12/../../../../x86_64-pc-linux-gnu/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker [ 91%] Built target gkfs_user_lib
Setting the
.note.GNU-stack
section in the Util file actually disables the whole code, so this doesn't help. An alternative is adding-z noexecstack
to the compiler flags. This seems to work but I am not sure about any ramifications to this flag. Any experience or insights with this?assigned to @rnou
requested review from @marcvef
- Resolved by Marc Vef
Um, no, could be that we are missing ASM in the CMakeFile ?
- Resolved by Ramon Nou
added 31 commits
-
21ef0cb0...5c3777f6 - 23 commits from branch
master
- 6cbdc20c - Creating Gekko API example
- 9f5e4f34 - 2 libs, disable syscall_intercept
- 395e9329 - Library finish
- 965614f4 - Create an user_functions.hpp
- 3fefaec3 - Add headers and new user function headers
- 649df72d - Adding gkfs_stat to the user lib
- 751bceaa - Add file_list function, remove and expand gkfs_lib example
- b749fdf9 - Gfind CMake updated to Cxx 17
Toggle commit list-
21ef0cb0...5c3777f6 - 23 commits from branch
enabled an automatic merge when the pipeline for 5aa4e850 succeeds
enabled an automatic merge when the pipeline for 92c904a2 succeeds
mentioned in commit 471a7739