Skip to content
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

Updated merge of old repos with tests added #129

Merged
merged 120 commits into from
Oct 6, 2016

Conversation

tacketar
Copy link
Contributor

This is massive and unwieldy pull request. Getting this merged in should get us back to making more manageable pull requests. This has a litany of changes:

  • All changes/bugfixes added pre-refactor have been incorporated.
  • More name-mangling done to fit the naming scheme as I came across them. There is more to do
  • All old tests have been added to the tests directory and all bugs discovered fixed. This is NOT integrated into the testing framework. That will be done at a later date
  • A lot of routines were added to the public API that were used by the test programs. I don't think any new structures were exposed but several constructor/destructor/accessor functions were added to make objects usable outside of the core library.
  • Several structs were moved out of the API. These just had a few references and could be easily converted to ptrs.
  • Resolves issue lio_read should return the number of bytes actually read #126 and lio_open doesn't properly return error codes #127

The final log statement uses the segment ID which could be invalid
because once the flushing_count is decremented the segment_destroy
call could complete and destroy the actual segment.
This is not ideal there area couple of options 1) add a string helper function
2) just make the cap a printable string.  I don't think there is much an issue
doing this.
Declaring the start_index as volatile disables the optimization. Without it
you get the following warning:

assuming signed overflow does not occur when assuming that (X + c) >= X is always true

on the 'while' condition
The old method had the inc/dec and destruction as separate functions
unlike the new method, using tbx_{obj}ref}.h, where they are combined.
these are now combined as a single unit.
It was creating issues compiling some executables.  Nothing extra is
being exposed.
This is only used by lio_warm.  As a work around I added a hack function.
Once another DS is implemented we can extrapoalte and make a proper API
for warming.
The core tests were added below the API just exposing the high-level
tests which are then called form the actual test
I have a very bad feeling all the lio_* executables need a similar patch
lio_read wasn't always returning the number of bytes actually read but instead the buffer size.
lio_myopen_fn had a failure edge case not propagating an error.  The fd was set to NULL properly
but not the status.
@PerilousApricot
Copy link
Member

This PR doesn't merge against master, @tacketar

hudson.plugins.git.GitException: Command "git merge 0458da62853f97893c51ab10e338be91e4e76239" returned status code 1:
stdout: Auto-merging src/toolbox/tbx/network.h
Auto-merging src/toolbox/tbx/list.h
CONFLICT (content): Merge conflict in src/toolbox/tbx/list.h
Auto-merging src/lio/lio_fuse_core.c
CONFLICT (content): Merge conflict in src/lio/lio_fuse_core.c
Auto-merging src/lio/lio_core_io.c
CONFLICT (content): Merge conflict in src/lio/lio_core_io.c
Auto-merging src/lio/lio_config.c
Auto-merging src/lio/lio/lio.h
CONFLICT (content): Merge conflict in src/lio/lio/lio.h
Auto-merging src/lio/lio.h
CONFLICT (content): Merge conflict in src/lio/lio.h
Auto-merging README.md
Auto-merging CMakeLists.txt
Automatic merge failed; fix conflicts and then commit the result.

Everything compiles except the gridftp plugin.  This does have
the name-mangling changes applied.  The plugin doesn't compile
even from a fresh clone.  There seem to be issues with finding
the globus packages and also incorrect number of args.
I don't see how these FindGlobus*.cmake routines ever worked.
Calling FindPackage(XxxYyy REQUIRED) checks for a XxxYyy_FOUND
variable on return to determine success and NOT Xxx_Yyy_FOUND which
which is what was set in both those routines.  I made the minimal
change of Xxx_Yyy_FOUND->XxxYyy_FOUND for both routines.  The other
library and include paths still have the name separation, Xxx_Yyy_*.
This allows the packages to be be found and builds the library.
@PerilousApricot PerilousApricot merged commit 572c2c9 into accre:master Oct 6, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants