1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-10 12:58:35 +03:00

189 Commits

Author SHA1 Message Date
Björn Jacke
20254221d2 tdb/waf: the deps for rt are provided by libreplace 2010-08-31 13:06:39 +02:00
Jelmer Vernooij
3dc7203713 Use DocBook DTD rather than Samba one, as no Samba-specific things are
used in the tdb manpages.
2010-08-22 14:05:58 +02:00
Rusty Russell
11ab43084b tdb: workaround starvation problem in locking entire database.
We saw tdb_lockall() take 71 seconds under heavy load; this is because Linux
(at least) doesn't prevent new small locks being obtained while we're waiting
for a big log.

The workaround is to do divide and conquer using non-blocking chainlocks: if
we get down to a single chain we block.  Using a simple test program where
children did "hold lock for 100ms, sleep for 1 second" the time to do
tdb_lockall() dropped signifiantly.  There are ln(hashsize) locks taken in
the contended case, but that's slow anyway.

More analysis is given in my blog at http://rusty.ozlabs.org/?p=120

This may also help transactions, though in that case it's the initial
read lock which uses this gradual locking routine; the update-to-write-lock
code is separate and still tries to update in one go.

Even though ABI doesn't change, minor version bumped so behavior change
can be easily detected.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2010-08-14 02:31:22 +09:30
Björn Jacke
5390baeb6b tdb: add TDB_DEPS variable filled with required libraries
This is required for Solaris, which needs to link in librt to make use of
fdatasync().
2010-08-13 14:57:44 +02:00
Jeremy Allison
bc1c82ea13 Fix tdb_check() to work with read-only tdb databases. The function tdb_lockall() uses F_WRLCK internally, which doesn't work on a fd opened with O_RDONLY. Use tdb_lockall_read() instead.
Jeremy.
2010-07-29 08:56:35 +09:30
Günther Deschner
f7a3bd4fa4 tdb: fix the build on mac os x 10.6.4.
Guenther
2010-07-01 23:14:57 +02:00
Andrew Tridgell
0be1820718 s4-ldb: use CHECK_XSLTPROC_MANPAGES() 2010-06-24 18:46:57 +10:00
Jelmer Vernooij
5e67566f5e pytdb: Cleanup formatting. 2010-06-19 22:46:44 +02:00
Jelmer Vernooij
bd1786f7f1 wafsamba: Fix typo: noextenion -> noextension. 2010-06-19 12:10:29 +02:00
Jelmer Vernooij
04fc459a30 tdb-waf: Don't install binaries when using system tdb. 2010-05-31 04:20:44 +02:00
Jelmer Vernooij
e6129bd596 tdb-waf: Simplify manpage handling. 2010-05-31 04:16:19 +02:00
Jelmer Vernooij
3858b5db8b s4-waf: sanitize library names like the old build system did, only add
-samba4 suffix for libraries that are bundled.
2010-05-31 03:28:42 +02:00
Stefan Metzmacher
b81887f2d9 tdb: commit ABI/tdb-1.2.2.sigs
metze
2010-05-11 18:11:05 +02:00
Günther Deschner
2eab1d7fdc tdb: remove unused variable in tdb_new_database().
Guenther
2010-05-11 13:41:17 +02:00
Rusty Russell
91e4a1760d tdb: fix short write logic in tdb_new_database
Commit 207a213c/24fed55d purported to fix the problem of signals during
tdb_new_database (which could cause a spurious short write, hence a failure).
However, the code is wrong: newdb+written is not correct.

Fix this by introducing a general tdb_write_all() and using it here and in
the tracing code.

Cc: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2010-05-05 15:37:18 +09:30
Andrew Tridgell
06fa4c8ebc build: make python development headers not mandatory in standalone libs
This needed an update to the python tool in waf

thanks to Kai for spotting this
2010-04-21 16:17:08 +10:00
Andrew Tridgell
773a8afbba tdb: update tdb ABI to use hide_symbols=True
We now use -fvisibilty=hidden to hide symbols from outside the tdb
shared library.

This also moved tdb_transaction_recover() into the tdb_private.h
header, as it should never have been a public API. For that reason we
are changing the version number. We're only doing a minor version
increment as it is extremely unlikely that anyone was actually using
tdb_transaction_recover() as its locking requirements were rather
unusual.

Pair-Programmed-With: Rusty Russell <rusty@samba.org>
2010-04-20 15:50:27 +10:00
Andrew Tridgell
f96353adcf s4-waf: rebuild signature files with the api type maps
This is not strictly necessary, as the old types would compare equal,
but it is neater to use the generic type names
2010-04-18 15:39:59 +10:00
Andrew Tridgell
805f651dbf tdb-waf: added ABI checking for tdb 2010-04-18 15:00:38 +10:00
Andrew Tridgell
c10d267a76 s4-waf: don't try to use the system lib for the library build
when building library FOO, don't try to find the system library FOO
    
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-04-13 23:03:27 +10:00
Andrew Tridgell
367ba43b63 tdb-waf: added build of manpages and config options for RPM build
Building a RPM from the fedora spec file now works with minimal changes

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-04-13 20:15:41 +10:00
Andrew Tridgell
98942c8d84 build: use a common autogen-waf.sh for all builds
the symlink will get updated with the right target when waf dist is
used in each directory
2010-04-12 11:17:35 +10:00
Jelmer Vernooij
7da94cc4a6 subunit: Support formatting compatible with upstream subunit, for consistency.
Upstream subunit makes a ":" after commands optional, so I've fixed any
places where we might trigger commands accidently. I've filed a bug
about this in subunit.
2010-04-11 20:57:33 +02:00
Andrew Tridgell
7ae4372124 s4-waf: fixed waf distcheck for our standalone libs and s4 2010-04-06 20:27:26 +10:00
Andrew Tridgell
fe060c8f50 s4-waf: added simple 'waf test' support for tdb, talloc and ldb 2010-04-06 20:27:26 +10:00
Andrew Tridgell
ccfce0bbae s4-waf: autogen-waf.sh for the standalone library builds 2010-04-06 20:27:25 +10:00
Andrew Tridgell
c8835f440a s4-waf: use a common pattern for finding buildtools and libs 2010-04-06 20:27:25 +10:00
Andrew Tridgell
553324bc10 s4-waf: move to a universal method of recursing into subdirs
This works with both standalone lib builds and bundled builds
2010-04-06 20:27:25 +10:00
Andrew Tridgell
8dc8d31f4a s4-waf: fixed finding of buildtools and srcdir 2010-04-06 20:27:25 +10:00
Andrew Tridgell
1883ee6dbc s4-waf: avoid having to run waf configure before waf dist
This should be useful for building tarballs from a clean checkout
2010-04-06 20:27:25 +10:00
Andrew Tridgell
9e9e878e8f s4-waf: allow standalone tarball build of libraries 2010-04-06 20:27:25 +10:00
Andrew Tridgell
528d7c7cf3 s4-waf: added 'waf dist' to our standalone libs as well 2010-04-06 20:27:25 +10:00
Andrew Tridgell
874e39cbf0 s4-waf: added implied_deps for system libraries
when we use a system version of a library such as talloc, then we
no longer get the automtica dependency propogation of talloc implying
libreplace. That means we don't get the includes for libreplace, which
means things can fail to build.

To fix this this change adds an implied_deps option to
CHECK_BUNDLED_SYSTEM(), which tells the samba_deps module to add an
implied dependency on the listed targets if the system library is
chosen.
2010-04-06 20:27:17 +10:00
Andrew Tridgell
bfbf43cc36 s4-waf: support the use of system libraries
distros can set --bundled-libraries=NONE to force use of all system
libraries. If the right version isn't found then configure will fail.

Users may choose which libraries to use from the system, and which to
use bundled libs. The default is to try system libs, and use them if
their version matches the one in the source tree.
2010-04-06 20:27:13 +10:00
Andrew Tridgell
c2d17cf978 s4-waf: set default for bundled libraries 2010-04-06 20:27:12 +10:00
Andrew Tridgell
42c9380760 s4-waf: set the bundled library extension for some libs 2010-04-06 20:27:12 +10:00
Andrew Tridgell
f9eae32f4b s4-waf: mark the wscript files as python so vim/emacs knows how to highlight them 2010-04-06 20:27:11 +10:00
Andrew Tridgell
8b14d217c4 s4-waf: fdatasync is in librt on solaris8 2010-04-06 20:27:08 +10:00
Andrew Tridgell
365f29136f build: only enable pytdb on s4 build 2010-04-06 20:26:51 +10:00
Andrew Tridgell
69fb313233 build: enable pytdb 2010-04-06 20:26:51 +10:00
Andrew Tridgell
7ed65d2e12 build: result of hack session with ita 2010-04-06 20:26:40 +10:00
Andrew Tridgell
5ad6369cd0 build: started to split up wafsamba.py into separate modules 2010-04-06 20:26:38 +10:00
Andrew Tridgell
a3421fe6e9 build: added BUILD_SUBDIR() wrapper 2010-04-06 20:26:35 +10:00
Andrew Tridgell
9a1cd09a10 build: added ADD_CFLAGS() and started of Samba4 build 2010-04-06 20:26:34 +10:00
Andrew Tridgell
0316ec1d89 build: tdb does not depend on talloc 2010-04-06 20:26:34 +10:00
Andrew Tridgell
2b5a1cc70c build: added waf build rules for ldb 2010-04-06 20:26:34 +10:00
Andrew Tridgell
8f062f4a0f build: neater way to find libreplace and start on tevent waf build 2010-04-06 20:26:33 +10:00
Andrew Tridgell
2bd0756dc5 build: more binaries for waf tdb build 2010-04-06 20:26:33 +10:00
Andrew Tridgell
8d6eb2a02c build: added waf build for tdb 2010-04-06 20:26:33 +10:00
Simo Sorce
c1f6f61f62 tdb: update exports and signatures files 2010-03-26 15:21:15 -04:00