summaryrefslogtreecommitdiff
path: root/lib/tdb2/tdb.c
AgeCommit message (Collapse)AuthorFilesLines
2011-09-20tdb2: allow readonly changes even while holding locks.Rusty Russell1-10/+0
This happens in SAMBA with the TDB_VERSION1, presumably due to a read-only traverse nested inside a normal traverse (since it doesn't occur without TDB_VERSION1). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (Imported from CCAN commit 24e5ddb143fb5e79112649472258f5da67cc7362) Autobuild-User: Rusty Russell <rusty@rustcorp.com.au> Autobuild-Date: Tue Sep 20 09:35:10 CEST 2011 on sn-devel-104
2011-09-14tdb2: add error conversion functions.Rusty Russell1-19/+19
This clarifies the code a little, but also provides a more explicit mechanism which can be used to debug error handling (by introducing tdb_err_t and making it a pointer type). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (Imported from CCAN commit afa6d57b7d93fe4675a952f556eb462951baa257)
2011-09-14tdb2: tdb_repackRusty Russell1-0/+61
Move the tdb1_repack() code into the core, make it general, rename to tdb_repack(). It's generic code: copy database into temporary, wipe it, copy back. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (Imported from CCAN commit e487983a4099b6f760056ff7182f2ff543e6da71)
2011-09-14tdb2: unify tdb1_get_seqnum/tdb1_increment_seqnum into ↵Rusty Russell1-1/+14
tdb_get_seqnum/tdb_inc_seqnum Switch on the TDB_VERSION1 flag. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (Imported from CCAN commit 57359c26e9626aa986ee0538efd13a44a466f39d)
2011-09-14tdb2: unify tdb1_parse_record into tdb_parse_recordRusty Russell1-0/+5
Switch on the TDB_VERSION1 flag. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (Imported from CCAN commit 3352e4e947777d4a90a2dd4f3037e1e494231b25)
2011-09-14tdb2: unify tdb1_store into tdb_storeRusty Russell1-0/+4
Switch on the TDB_VERSION1 flag. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (Imported from CCAN commit 2bba2a856a6cfdb93085b701557850bc1da99587)
2011-09-14tdb2: unify tdb1_delete into tdb_delete.Rusty Russell1-0/+6
Switch on the TDB_VERSION1 flag. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (Imported from CCAN commit acb26c9c3ee054c8b2141db25c9bd7be064e425c)
2011-09-14tdb2: unify tdb1_append into tdb_appendRusty Russell1-0/+6
Switch on the TDB_VERSION1 flag. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (Imported from CCAN commit 8bc38cb177928ef739440c32e33a8eaf23a5dd22)
2011-09-14tdb2: unify tdb1_fetch into tdb_fetchRusty Russell1-0/+3
Switch on the TDB_VERSION1 flag. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (Imported from CCAN commit 08c05da588018c6b76834e57b66d525546643708)
2011-09-14tdb2: unify tdb1_store into tdb_storeRusty Russell1-0/+6
Switch on the TDB_VERSION1 flag. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (Imported from CCAN commit 98c754ffe65bc335f66161d6cc8705d4ea2710ec)
2011-09-14tdb2: merge tdb1_context into tdb_context.Rusty Russell1-6/+14
Finally, we split out the tdb2-specific parts of tdb_context, and put them into a "tdb2" sub-struct; the tdb1 parts go into a "tdb1" sub-struct. We get rido of tdb1_context and use tdb_context everywhere. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (Imported from CCAN commit bbeb528e74c0e234e1f724ac8d54be404cfc6f9a)
2011-09-14tdb2: add TDB_RDONLY flag, allow setting/unsetting it.Rusty Russell1-0/+39
You can only unset it if the TDB was originally opened O_RDWR. Also, cleaned up error handling in tdb_allrecord_lock() so we only get one log message on a r/o database. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (Imported from CCAN commit b87e14495d5b07e1b247218a72329f10ecb3da7f)
2011-09-14tdb2: Hand error code to logging function.Rusty Russell1-3/+3
Since we've deprecated tdb_error() function (and it didn't work right from inside the logging function anyway, since we didn't set tdb->ecode yet) we need to hand it to the log function. (Imported from CCAN commit 6e3d9e8a66bf8b45150500f176452ee8e9ee9927) Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2011-08-31tdb2: add full LGPL headersRusty Russell1-0/+17
This is for SAMBA, so we follow their rules and do full license headers. Two files were missing them. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (Imported from CCAN commit 58025731) Autobuild-User: Rusty Russell <rusty@rustcorp.com.au> Autobuild-Date: Wed Aug 31 09:52:43 CEST 2011 on sn-devel-104
2011-06-20tdb2: minor changes to SAMBIFY it.Rusty Russell1-0/+2
This is a bit messy, but it works. Kept as a separate patch so it's easier to merge back and forth with CCAN's tdb2. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2011-06-20tdb2: add lib/tdb2 (from CCAN init-1161-g661d41f)Rusty Russell1-0/+484
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>