Age | Commit message (Collapse) | Author | Files | Lines |
|
need to
agree on the behaviour of non-existing records.
Tridge, can you comment? Should we change tdb_fetch, or should we have
different concepts in tdb_fetch() and tdb_parse_record() ?
Volker
(This used to be commit fba79e75c0138c3ae4e73014a1d1a2c2045c35bb)
|
|
Not as bad
as not doing it at all, but needs fixing. Also simplify the logic, I had
missed the "goto out" at the end of the function.
Volker
(This used to be commit 101789946130d51f3092d19f081071bdb5e43c21)
|
|
succeeded. Found while testing the brlock seqnum patch.
Tridge, please check!
Volker
(This used to be commit 815f2b19409dc015bb2a04b16224a7ac8071a991)
|
|
in-memory
mirrors of the hash chain locks to a dynamically allocated one.
Jeremy, I count on you to revert it if the build farm freaks out, it's after
midnight here :-)
Volker
(This used to be commit c50f099be1fcae2d533e1c3816cb25c315ba167a)
|
|
(This used to be commit 5b25ce30022b5968717691223d065a8e0770c6e3)
|
|
(This used to be commit 7bcde1069e38d70808d78c408f16821a0bfadcdd)
|
|
(This used to be commit 382827ebac61646ec31fe1d56ccde2ea337e8f9e)
|
|
more no previous prototype warnings
(This used to be commit 41be182f78762372ae13759ede5d2bd40a71d7f5)
|
|
(This used to be commit 2fdfc54e7eebc68c81ad5f3fa8d0607bd3b579c5)
|
|
separately specifying CPPFLAGS and LDFLAGS.
(This used to be commit 8c36f1a7458e7cf29c9ec647e98d0a1e2d32d239)
|
|
Add code to check for loops in the free list.
Should help us validate tdb's against corruption.
Jeremy.
(This used to be commit f8e7386773cbbb31e2f42ffcbae9b979c1197635)
|
|
Rename to log_ctx.
Jeremy.
(This used to be commit dbf0e58a1e7fa77ce0338104cf71c7a81214884b)
|
|
command now
prints the hash on every record for easier awk'ing, and tdbbackup allows a
different hash chain length on the backed up tdb.
Jeremy, Günther, this might be interesting for you huge domains. Not only
locking.tdb, also the winbind ones might grow huge.
In the installation I fixed with this winbind spent a huge amount of CPU
spinning through a degenerated winbindd_idmap.tdb with entries for more than
15.000 users. With a default number of hash chains of 131 on that tdb you can
imagine that the lists get large.
Not merging to 4, I don't get tdbbackup to compile there right now.
What about changing the global default hash chain number to be dramatically
larger? Disk is cheap these days.
Volker
(This used to be commit 577d0ff658596f8246f120e0342cc5c9e4077ece)
|
|
see discussion on samba-technical
(This used to be commit 1ad563286f00be0d72930b81b10cb74f13c5fbff)
|
|
tdb. This includes:
- the new tdb_lockall and tdb_lockall_read code, which will be needed
for the ldb speedups
- the tdb logging changes. This is an intermediate step to keep the
differences between the two branches small. The plan is still to
move to a tdb_init()/tdb_set_logging_function()/tdb_attach() style
of open which will make things much cleaner.
- the updated test suites and standalone tdb build code
- use libreplace headers
There are still some small differences I haven't merged. I'll discuss
those on the list.
(This used to be commit 48903c75edfaf75dbd3e9d052e615552cdff39b4)
|
|
descriptor
buffers.
Make security access masks simply a uint32 rather than a structure
with a uint32 in it.
(This used to be commit b41c52b9db5fc4a553b20a7a5a051a4afced9366)
|
|
metze
(This used to be commit ff88592426b851295604717b4fe52290504fc543)
|
|
and DLIST_DEMOTE() now take the type of the tmp pointer
not the tmp pointer itself anymore.
metze
(This used to be commit 2f58645b7094e81dff3734f11aa183ea2ab53d2d)
|
|
definitions which
are not compatible. I am aware that this would be a huge change in Samba4, but
I would like to see it in the code that is shared.
Stefan, when you do merge work, can you get this across to Samba4?
Thanks,
Volker
(This used to be commit 959ea2c7dc3ab42a06ac74dc4767d7d06e525cbc)
|
|
Let's see what it breaks. For me it works :-)
Volker
(This used to be commit 337be14b432e5dfd80c7418b2db4fe0087259b77)
|
|
(This used to be commit 761cbd52f0cff6b864c506ec03c94039b6101ef9)
|
|
On Linux,
F_RDLCK is defined to 0, for example NetBSD has it at 1.
Still does not work fully though. Still investigating.
This might also be interesting to Samba4.
Volker
(This used to be commit a1c3774e01710ae0edc89e05f7781d2928ea9319)
|
|
keys,
this can trivially be added later.
Volker
(This used to be commit 6915adb9780052952e4a1d9e1c3e6cac06f48463)
|
|
in talloc
and tdb "upstream"?
Volker
(This used to be commit 68c43191c8aa4faa9801e0ab084a216ceaf4379d)
|
|
(tdbtool still fails).
Jeremy.
(This used to be commit 50dbb66d73c8c25755e675876dd55000ca8bfd12)
|
|
to do the upper layer directories but this is what
everyone is waiting for....
Jeremy.
(This used to be commit 9dafb7f48ca3e7af956b0a7d1720c2546fc4cfb8)
|
|
the fastest clock available on uniprocessors.
(This used to be commit d44862928206b524f826bd7c2997ab5353c0b6a0)
|
|
(This used to be commit a19d4f2bb4aa94ab40e371efbad9f17e38e3bbc4)
|
|
Volker
(This used to be commit d52002c1c9d28e637ca4d1553e800b0b97790f36)
|
|
does not
have the timeout argument in Samba4. Add a new routine
tdb_lock_bystring_with_timeout.
Volker
(This used to be commit b9c6e3f55602fa505859a4b2cd137b74105d685f)
|
|
has the linear posix locking issue which causes
CLEAR_IF_FIRST to cause performance problems.
As we know we're in a daemon architecture with
long-lived parent we can avoid this in the Samba
case. Add a comment explaining this.
Jeremy.
(This used to be commit 3cd5c3df0d1b98dfa90663973ab13b5d3dbf737e)
|
|
Jeremy.
(This used to be commit b51edde4d63e9b2f241f41b6780b026487890a7f)
|
|
Jeremy.
(This used to be commit 3a1c4cb93dc262028ffbebd9ebeed69f4816cf09)
|
|
realloc can return NULL in one of two cases - (1) the realloc failed,
(2) realloc succeeded but the new size requested was zero, in which
case this is identical to a free() call.
The error paths dealing with these two cases should be different,
but mostly weren't. Secondly the standard idiom for dealing with
realloc when you know the new size is non-zero is the following :
tmp = realloc(p, size);
if (!tmp) {
SAFE_FREE(p);
return error;
} else {
p = tmp;
}
However, there were *many* *many* places in Samba where we were
using the old (broken) idiom of :
p = realloc(p, size)
if (!p) {
return error;
}
which will leak the memory pointed to by p on realloc fail.
This commit (hopefully) fixes all these cases by moving to
a standard idiom of :
p = SMB_REALLOC(p, size)
if (!p) {
return error;
}
Where if the realloc returns null due to the realloc failing
or size == 0 we *guarentee* that the storage pointed to by p
has been freed. This allows me to remove a lot of code that
was dealing with the standard (more verbose) method that required
a tmp pointer. This is almost always what you want. When a
realloc fails you never usually want the old memory, you
want to free it and get into your error processing asap.
For the 11 remaining cases where we really do need to keep the
old pointer I have invented the new macro SMB_REALLOC_KEEP_OLD_ON_ERROR,
which can be used as follows :
tmp = SMB_REALLOC_KEEP_OLD_ON_ERROR(p, size);
if (!tmp) {
SAFE_FREE(p);
return error;
} else {
p = tmp;
}
SMB_REALLOC_KEEP_OLD_ON_ERROR guarentees never to free the
pointer p, even on size == 0 or realloc fail. All this is
done by a hidden extra argument to Realloc(), BOOL free_old_on_error
which is set appropriately by the SMB_REALLOC and SMB_REALLOC_KEEP_OLD_ON_ERROR
macros (and their array counterparts).
It remains to be seen what this will do to our Coverity bug count :-).
Jeremy.
(This used to be commit 1d710d06a214f3f1740e80e0bffd6aab44aac2b0)
|
|
Jeremy.
(This used to be commit 9ed3bd431c8b8073e177df463e254cf45529bed6)
|
|
(This used to be commit 23503ff45f2a377728bc5ebb1e6db2755bb5ca2b)
|
|
(This used to be commit 9d366da172a13fe9fd6e940f95d58dac534f3b31)
|
|
Jeremy.
(This used to be commit 4473ac4ef9c86574fc49b1e67089b59b14b6d10d)
|
|
x86_64 box.
Jeremy.
(This used to be commit d720867a788c735e56d53d63265255830ec21208)
|
|
* \PIPE\unixinfo
* winbindd's {group,alias}membership new functions
* winbindd's lookupsids() functionality
* swat (trunk changes to be reverted as per discussion with Deryck)
(This used to be commit 939c3cb5d78e3a2236209b296aa8aba8bdce32d3)
|
|
sorry :-).
Jeremy.
(This used to be commit b1722b7bd1eaabb725218a4fc5c8b012f0a1a0af)
|
|
Jeremy.
(This used to be commit cfe5a7e5f8eccecf8876c36ddeb0f6e91eb6aac4)
|
|
process holding the active if two cluster nodes access the same tdb.
Volker
(This used to be commit cbc66cc3cab0e1db31402505214c83e1be92663b)
|
|
Volker
(This used to be commit 5e6fef32b372e20cb570c578e2044e89f9ee45b3)
|
|
(This used to be commit c525c276c3bebd97f2c86684bd248ed00e889349)
|
|
safe for using our headers and linking with C++ modules. Stops us
from using C++ reserved keywords in our code.
Jeremy
(This used to be commit 9506b8e145982b1160a2f0aee5c9b7a54980940a)
|
|
loops in corrupted tdb files.
Jeremy.
(This used to be commit b438cb0a85217c978f1d7cb9f2a4fd97f38a3193)
|
|
version to 3.0.20pre1
(This used to be commit 9727d05241574042dd3aa8844ae5c701d22e2da1)
|
|
the read using a timeout to ensure that all data for the packet is received.
2 some minor changes to meet coding standards
3 eliminate some compiler warnings
(This used to be commit 7b4d4f6109d815ec70c65564435d7d9bd22f66d9)
|
|
new commands. It also restructures it so you can execute
a single command from the command line. Input strings are
parsed to allow input of arbitrary characters using the
\xx syntax for hex values.
(This used to be commit 94e53472666edfb390605b8a7e9f9dffc3c845f5)
|