]> arthur.barton.de Git - netatalk.git/commit
Introduce Conncurrent Data Store (CDB) support to CNID. This is phase 1.
authorjmarcus <jmarcus>
Fri, 30 Aug 2002 03:12:45 +0000 (03:12 +0000)
committerjmarcus <jmarcus>
Fri, 30 Aug 2002 03:12:45 +0000 (03:12 +0000)
commit7c563936748fcb1d7bd32d87d905175e0602d8ae
treead728faded5010c7def549a13d052ac38b36ee51
parent85b1a6bd6e3d8cbc7eff992f763a1d57b3a0f459
Introduce Conncurrent Data Store (CDB) support to CNID.  This is phase 1.
In this phase, CDB is a configure option, and is either enabled or disabled
for all volumes at compile time.  By default, CDB is disabled in favor of
transactional data store.

CDB has some advantages.  It doesn't use transactions or logging, thus it's
less likely to be corrupted if the server dies prematurely.  It also
doesn't eat up disk space with transaction logs.  The disadvantage is that
it's designed for environments with many readers and one writer.  This means
that many afpd clients could block while waiting for a write lock on
the database.  That's why testing is in order.

In phase 2, CDB is be configurable on a per-volume basis.

Phase 3 (if testing of phase 1 and 2 is good) will be to enable CDB as the
default CNID data store scheme.

To enable CDB, simply specify the configure argument --with-cdb when
configuring with CNID DID support.

Submitted by: Dan Wilga <dwilga@mtholyoke.edu>
13 files changed:
NEWS
acconfig.h
configure.in
libatalk/cnid/cnid_add.c
libatalk/cnid/cnid_close.c
libatalk/cnid/cnid_delete.c
libatalk/cnid/cnid_get.c
libatalk/cnid/cnid_lookup.c
libatalk/cnid/cnid_mangle_add.c
libatalk/cnid/cnid_mangle_get.c
libatalk/cnid/cnid_open.c
libatalk/cnid/cnid_resolve.c
libatalk/cnid/cnid_update.c