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 44a766a7f6 * Fixed a race condition. Pages that were merged during writeback were
set clean and unpinned while the slow handle was writing them back.
This allowed other threads to come in, and read the old version of the
page from disk.

* Fixed performance bug: When considering pages for writeback, start
  after the end of the last flushed page (not the first flushed page)

* Honor "max_fast_handles".
2007-10-22 20:45:48 +00:00
benchmarks Initial refactoring of rose.cpp into reusable components. (Just shuffles the code around.) 2007-10-18 18:52:12 +00:00
blast forgot to save it the last time... 2005-05-01 22:36:08 +00:00
doc Converted page.h to follow new naming convention; documented new page api; begun stasis documentation cleanup. 2007-10-02 00:18:33 +00:00
examples support "make install", and use libtool to generate .so, .a files. 2007-06-25 15:47:28 +00:00
libdfa Final commit from google. 2007-08-24 23:01:08 +00:00
m4 Allow stasis to build on machines without python 2007-05-31 22:39:40 +00:00
pbl Removed pbl header; fixed makefile bugs and the compilation warnings 2006-06-20 22:05:45 +00:00
pobj Fixed a bunch of 'easy' warnings 2006-05-25 00:02:46 +00:00
src * Fixed a race condition. Pages that were merged during writeback were 2007-10-22 20:45:48 +00:00
stasis Fixed DEBUGGING flag (compensations.h wasn't be included when DEBUGGING was defined...) 2007-10-22 20:31:16 +00:00
test Updated svn:ignore. 2007-10-03 01:52:41 +00:00
utilities Updated svn:ignore. 2007-10-03 01:52:41 +00:00
.cvsignore Updated svn:ignore. 2007-10-03 01:52:41 +00:00
AUTHORS Fixed typos; updated list. 2007-10-04 17:42:54 +00:00
bootstrap Initial revision 2004-06-24 21:10:31 +00:00
ChangeLog Benchmark debugging output / scalability fixes. 2005-03-21 08:03:45 +00:00
clean.sh Fixes a number of memory leaks; adds pageCleanup() callback, and allows callers to use custom allocators with LSM trees 2007-08-20 21:58:20 +00:00
configure.in support "make install", and use libtool to generate .so, .a files. 2007-06-25 15:47:28 +00:00
COPYING Initial revision 2004-06-24 21:10:31 +00:00
cvs-branch-info Addid information about the blast branch. 2005-05-02 01:32:47 +00:00
lladd.prj Support for nested top actions, with simple unit test. (Haven't tested for thread safety yet.) 2004-11-29 21:28:13 +00:00
lladd.pws Implemented pageOrientedList, also did some bug fixing, and added some support functions to alloc.c 2005-01-28 03:32:17 +00:00
Makefile.am support "make install", and use libtool to generate .so, .a files. 2007-06-25 15:47:28 +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 Added pointer to web page. 2006-11-09 22:58:58 +00:00
reconf pass -i to autoreconf. Otherwise, it fails because of missing files. 2007-07-19 16:35:42 +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

Stasis is an experimental flexible transactional storage library.

Please see the COPYING file for licensing information.  

More information about installation, a tutorial and API documentation
are available at:

http://lladd.sourceforge.net/developers/html/

First, make sure you have the appropriate dependencies:

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

You'll need Berkeley DB to build; it isn't actually used by Stasis, but 
I haven't gotten around to making it optional.

You also need libconfuse; it is used by some of the programs that ship 
with Stasis.


To build, do:

./reconf

or 

./reconf-1.8

You'll need to have a version of automake >= 1.7 for ./reconf to work,
or have automake 1.8 for ./reconf-1.8 to work.  Different packages of
automake should be able to coexist on the same system, and probably
ship with your distribution.

./configure
make
make check
make install

To build the API and internals documentation, run:

make docs

after configure.

We don't support "make install". ;)

For up-to date coverage reports and unit test pass rates, see 
http://www.cs.berkeley.edu/~sears/stasis/

The unit test logs for lcov describe how the coverage report was 
generated.