Stasis is a flexible transactional storage library for high-performance applications and system developers. It supports concurrent transactional storage and no-FORCE/STEAL buffer management.
Find a file
Sears Russell 811bc5c710 Implemented a freespace manager that should safely allocate space, even in the face of crashes, and can reclaim unused space (unless an application opens more than one simultaneous transaction that performs allocations)
Fixed some blob bugs (by adding extra fdatasync() calls).

Began factoring out the page management code so that it is an extenstion, and a less integral part of lladd.
2004-08-21 00:03:30 +00:00
doc Fixed regressions, major update of page / slotted interfaces in anticipation of moving LLADD towards a generic transactional page system. 2004-08-17 01:46:17 +00:00
libdfa pageCache.c is now re-entrant. 2004-07-20 00:15:17 +00:00
lladd Implemented a freespace manager that should safely allocate space, even in the face of crashes, and can reclaim unused space (unless an application opens more than one simultaneous transaction that performs allocations) 2004-08-21 00:03:30 +00:00
m4 Ported LLADD to Fedora, cleaned up autoconf setup, and numerouse #includes that were problematic. 2004-07-06 01:22:18 +00:00
pbl Ported LLADD to Fedora, cleaned up autoconf setup, and numerouse #includes that were problematic. 2004-07-06 01:22:18 +00:00
src Implemented a freespace manager that should safely allocate space, even in the face of crashes, and can reclaim unused space (unless an application opens more than one simultaneous transaction that performs allocations) 2004-08-21 00:03:30 +00:00
test Implemented a freespace manager that should safely allocate space, even in the face of crashes, and can reclaim unused space (unless an application opens more than one simultaneous transaction that performs allocations) 2004-08-21 00:03:30 +00:00
utilities Moved page.h and some of the logging headers out of the public API. 2004-07-14 21:25:59 +00:00
AUTHORS Initial revision 2004-06-24 21:10:31 +00:00
bootstrap Initial revision 2004-06-24 21:10:31 +00:00
ChangeLog bufferMananger is *really* reentrant now! (I think) However, the same thread may not load a page more than once. So, LLADD has to be altered so that it never calls loadPage() more than once per operation (more efficient), and/or pin/unpin need to be implemented. An easy way to do pin/unpin is to have them pull things out of the cache replacement list, and then re-insert them. 2004-07-21 02:13:28 +00:00
clean.sh Initial revision 2004-06-24 21:10:31 +00:00
configure.in Ported LLADD to Fedora, cleaned up autoconf setup, and numerouse #includes that were problematic. 2004-07-06 01:22:18 +00:00
COPYING Initial revision 2004-06-24 21:10:31 +00:00
lladd.prj Initial revision 2004-06-24 21:10:31 +00:00
lladd.pws Initial revision 2004-06-24 21:10:31 +00:00
Makefile.am Logwriter can now handler partial log entries correctly (it ignores them) 2004-06-30 01:09:57 +00:00
mkinstalldirs Initial revision 2004-06-24 21:10:31 +00:00
NEWS Initial revision 2004-06-24 21:10:31 +00:00
NOTES Initial revision 2004-06-24 21:10:31 +00:00
README Ported LLADD to Fedora, cleaned up autoconf setup, and numerouse #includes that were problematic. 2004-07-06 01:22:18 +00:00
reconf Ported LLADD to Fedora, cleaned up autoconf setup, and numerouse #includes that were problematic. 2004-07-06 01:22:18 +00:00
reconf-1.8 Made pageWriteLSN static. 2004-07-09 22:05:33 +00:00
stamp-h.in Initial revision 2004-06-24 21:10:31 +00:00

LLADD is an experimental Lightweight Library for Atomicity and Durability of Data.

Please see the COPYING file for licensing information.  

To build, do:

./configure
make
make check
make install

To build the API and internals documentation, run:

make docs

after configure.

'make check' requires the GNU check library, 'make doc' requires Doxygen.

We haven't tested make install. ;)

If you want to install check to a non-standard location, try this:

./configure --with-check=/home/eecs/sears/check


This package contains a copy of Peter Graf's Program Base Library, PBL, which is
distributed under the terms of the LGPL.

The original version can be found at:

http://mission.base.com/peter/source/

LLADD's version of the package adds the jbhash.* files, and compiles PBL using
LLADD's make files.  Currently, LLADD's hash table implementations are based upon
code from PBL, and pbl is used in a number of places throughout LLADD.