-
Notifications
You must be signed in to change notification settings - Fork 4
Capio v2 #113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
marcoSanti
wants to merge
164
commits into
master
Choose a base branch
from
capio-v2
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Capio v2 #113
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Added optimization in read operations
Added file system monitor thread WARNING: no mutually exclusive access is guaranteed and probably race conditions exsists in the FileSystemMonitor class, but it is good enough for now
Migrated CAPIO-V2 code
Added doxygen documentation to the CAPIO codebase for most of the server component and for some of the posix components. Added a script to be called on the root directory to build and generate the capio html documentation inside the doxy/ folder.
Added cache to consent to proceed handler
This commit adds the base mechanism to implement a multicast control plane with basic messages (CREATE and DELETE). It also adds the environment to develop locally the distributed capio_server trough the usage of docker. The implementation of the control plane is pending a major refactor of the capio_server structure --------- Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
This commits proceeds to refactor the capio project. It reorganizes the structure of the project, and refactors the capio-server component. In particular it splits definition of classes and implementation to avoid recursive include issues that were rising when defining the capio_server backend. It also updates the tests to work with the new structure of the project, as well as the Dockerfile. --------- Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
This commit introduces support for the exclude section of the CAPIO-CL file Now when a file that should be excluded is opened, the library skips the opening of the file, and the registration of the file descriptor as a CAPIO file description. When the enumeration of a directory occurs, if the directory is marked as exclude, a commit token for that directory is created to ensure that the real readdir method is used. --------- Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
Added check for forbidden path in is_capio_path --------- Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
This commits adds the backend to allow in-memory IO operation when running in multinode configurations. The developed backend wraps around the MTCL library, which itself is wrapped around by the CapioRemoteFile class. As of right now, only the create home-node-policy is supported. With this commit, the backend communication tests have been rewritten to support the whole data path from one node to another with a simple writer-reader application. Metatada operation on files are not yet supported on the memory backend and will be implemented later on. --------- Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
This commit introduces bugfixes on the openat, open and creat handler, in which previusly the wrong path was passed to the is_capio_path method --------- Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
Fixed future errors in integration tests, and moved CAPIO integration tests to c++ to avoid segfaults due to manual memory management. --------- Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
Added an API server to manage the termination of the CAPIO server instance. The APIs available are: GET / -> return identity of capio_server as well as all the available routes GET /clients -> return count of connected clients GET /terminate -> Requests a graceful termination phase. --------- Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
…#174) Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
3c2d789 to
d4acf9c
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request is aimed to activate the github actions for the v2 of CAPIO.