-
Notifications
You must be signed in to change notification settings - Fork 33
Client API implementation #622
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
Conversation
1e73977 to
917b4d2
Compare
adammoody
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @MichaelBrim ! This is great work, with some really nice clean up too. I haven't gone through it in full detail yet, but it all looks solid to me in a quick review. I'm fine with merging.
CamStan
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Docs? There, I said it! 😆
This is great @MichaelBrim! 🥳
917b4d2 to
c1e353c
Compare
|
I realized that the alpha implementation was missing support for the transfer methods, so I added that. Now, similar to what Jenna and Craig have been seeing, the stage-transfer unit test (0700) is failing in Travis. I can reproduce the failure in my Docker environment, and am currently debugging. |
369e360 to
71ffffa
Compare
|
Well, I resolved the stage-out issue I could reproduce in my docker environment (and fixed a couple other random things), but the final file comparison check for 0700 is still failing in Travis, so I restored the test_might_fail. |
CamStan
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mind making one more adjustment to the stage tests?
|
@CamStan yes, I'll add those changes |
71ffffa to
3bbab1d
Compare
|
@CamStan those changes seem to have made Travis happy :) |
4a35da4 to
135552f
Compare
|
I have added a read-the-docs page on using the client API. Feel free to re-review or just go ahead and merge. |
135552f to
c8a216e
Compare
* implements the alpha version of the client API and library. * includes new unit tests to exercise the library. Also includes: * fix for missing req completion notice for hole extent * fix for write after laminate * eliminate shadow copy of file attributes in client metadata * allow symbolic file access permissions in checkpatch * fix unifyfs-stage unit tests * fix to clean up logio shmem regions on server exit TEST_CHECKPATCH_SKIP_FILES="common/src/unifyfs_configurator.c" TEST_CHECKPATCH_SKIP_FILES+=",t/0700-unifyfs-stage-full.t" TEST_CHECKPATCH_SKIP_FILES+=",t/9300-unifyfs-stage-isolated.t"
c8a216e to
95f7f72
Compare
Description
Introduces the client API (
client/src/unifyfs_api.h) and associated library (libunifyfs_api), along with a set of unit tests.Motivation and Context
The client API is intended for use by I/O middleware libraries or applications that want to bypass the typical POSIX I/O layer.
How Has This Been Tested?
Tested in Docker and on OLCF Summit.
Types of changes
Checklist: