Age | Commit message (Collapse) | Author | Files | Lines |
|
This adds the two functions talloc_stackframe() and talloc_tos().
* When a new talloc stackframe is allocated with talloc_stackframe(), then
* the TALLOC_CTX returned with talloc_tos() is reset to that new
* frame. Whenever that stack frame is TALLOC_FREE()'ed, then the reverse
* happens: The previous talloc_tos() is restored.
*
* This API is designed to be robust in the sense that if someone forgets to
* TALLOC_FREE() a stackframe, then the next outer one correctly cleans up and
* resets the talloc_tos().
The original motivation for this patch was to get rid of the
sid_string_static & friends buffers. Explicitly passing talloc context
everywhere clutters code too much for my taste, so an implicit
talloc_tos() is introduced here. Many of these static buffers are
replaced by a single static pointer.
The intended use would thus be that low-level functions can rather
freely push stuff to talloc_tos, the upper layers clean up by freeing
the stackframe. The more of these stackframes are used and correctly
freed the more exact the memory cleanup happens.
This patch removes the main_loop_talloc_ctx, tmp_talloc_ctx and
lp_talloc_ctx (did I forget any?)
So, never do a
tmp_ctx = talloc_init("foo");
anymore, instead, use
tmp_ctx = talloc_stackframe()
:-)
Volker
(This used to be commit 6585ea2cb7f417e14540495b9c7380fe9c8c717b)
|
|
The lockup could happen when packet_read_sync() gets two packets in a row, the
first one being an async message, and the second one being the response to a
ctdb request.
Also add some debug msg to ctdb_conn.c, and cut off the "locking key" messages
to only dump 20 hex chars at debug level 10. >10 will dump everything.
(This used to be commit 0a55880a240b619810371a19144dd0a75208adfe)
|
|
Leaving the commented out code for now, in case I need to re-test
some stuff.
Jeremy
(This used to be commit 343be0464342aac14a9592fd73a71b7589ba34d5)
|
|
(This used to be commit 23c8f4f74bfb761894034ce9375258411c80d74d)
|
|
Guenther
(This used to be commit 579fb55b7556dc90b42f77d5fc9e9c31f34974e5)
|
|
for fine
grained KDC DNS queries).
Guenther
(This used to be commit 3263cd680fe429430d789b284464fca72ef45719)
|
|
r23977.
Michael
(This used to be commit a3506f291abfb8a9516b79c10c79841a7391651e)
|
|
torturetest).
Mimir, please have a look. DATA_BLOBs will now just show up as "DATA_BLOB"
values with "net cache list".
Guenther
(This used to be commit b8ad546d041a2a8cc85c7db8eba4d2d3b97df1a8)
|
|
as TALLOC_ABORT() is defined to abort() by default
wrap it into a function so that the function name
in the backtrace shows what happens.
metze
(This used to be commit ddbe971030070ab1b9fc37b8b0ac44a3d9303fe4)
|
|
into the popt _POST processing.
Now 'smbd -V --bla' complains about an unknown option
metze
(This used to be commit c115de4beac887442a73b4a85367d7b5fded68e6)
|
|
(This used to be commit a12f3bf6e93f7a902a1f6274d67f15cc4eeb20bd)
|
|
instead of a 2-byte zero character. I can't recall what
rode me when I put that "2" there. But now I think I
have got it right... :-)
Michael
(This used to be commit fa010bef11b78ac3bbf0091870ce8cd5a53334af)
|
|
vuid that was allocated whilst the connection is
being constructed and after the connection has been set up.
This is what Windows does and at least one client
(and HP printer) depends on this behaviour. As it
depends on the req struct not yet ported to SAMBA_3_2_0
(Volker, hint hint.... :-) I am not yet adding this
to that branch, but will investigate that tomorrow.
Jeremy.
(This used to be commit a54f2805df92c67e74a6764568eedebe394fd500)
|
|
Thanks!
(This used to be commit 4a90264d173ef5a870f2a44554c3bb9e738e98fb)
|
|
Guenther
(This used to be commit 8705f890b11e7158b5c77cbd3a6dfae8eb26776e)
|
|
Samba4 seems not to suffer from it
(This used to be commit d93b5d50a00286586c931a5876f5933a520b6ce7)
|
|
(This used to be commit 4a5fa715a6af281282092644817599f79806981d)
|
|
(This used to be commit 26d1430283bd4ae8b8a84f3253e33417d509c1a4)
|
|
attached patches add EA support for Solaris. If no one disagrees, can
someone check this in please?
metze
(This used to be commit 81e5afc363e1f0bdc4768c0f5c696f4152fe5b44)
|
|
I had only tested with "net getlocalsid". posix_locking_init() calls this
with a NULL name...
(This used to be commit 3eee1fe28057e2e3da2e9d1506f57f3e35fd37b7)
|
|
This makes it possible to set the default hashsize for any tdb. I would
like to remove the "open files database hash size" in favor of this one.
I'll check that removal in with the next commit, please complain/revert
if it's not ok.
Volker
(This used to be commit e9bd7a63a8d462b1fc3bab99ff843e25bffd156b)
|
|
This needs a bit closer review, it also touches the client libs
(This used to be commit 824eb26738d64af1798d319d339582cf047521f0)
|
|
it's needed for some cluster filesystems to
overload this function.
metze
(This used to be commit cdaa24e8047399002e4b287a31a8340a665e580f)
|
|
when using "clustering = yes" and ctdbd isn't running
metze
(This used to be commit c5f020ba1fdefe0422dd466b9c68ff67c74ceddd)
|
|
(This used to be commit ed84540bb2825dfaca25649a1cfb9342b68c3068)
|
|
(This used to be commit eabe796e464e5fe10d0f4cca1362985c529f5a5b)
|
|
recursively
(This used to be commit b74797a31eae1c59c1a23934a3302987de9ab87c)
|
|
and receives messages to other nodes... :-)
(This used to be commit 3e9e9a3f28763500a1c5e551a808a14661d7d9fa)
|
|
(This used to be commit c0fd9a14cf4f2a4334a8cae22248e7831ffa6bcf)
|
|
and not TDB_DATA
metze
(This used to be commit 3e4f552dbdd065fd7934d646e34199b52f486d5d)
|
|
registry_pull_value().
Guenther
(This used to be commit 6a3c44fd99c91beddd9d6a04a30c35d429d0b9a5)
|
|
Timur I. Bakeyev for bugging me :-)
Volker
(This used to be commit 59aef0451bed536d5cd72f2b26a0595947e94343)
|
|
The proposed new API convention is to start with a 0 bcc length and then
push things step by step. These routines reallocate the outbuf and
adjust the length and bcc fields as necessary.
(This used to be commit 624f1fe4f6e022d73e78fa8c9646f6f64035f3ee)
|
|
InBuffer/OutBuffer
The complete history of this patch can be found under
http://www.samba.org/~vlendec/inbuf-checkin/.
Jeremy, Jerry: If possible I would like to see this in 3.2.0. I'm only
checking into 3_2 at the moment, as it currently will slow down operations for
all non-converted (i.e. all at this moment) operations, as it will copy the
talloc'ed inbuf over the global InBuffer. It will need quite a bit of effort
to convert everything necessary for the normal operations an XP box does.
I have patches for negprot, session setup, tcon_and_X, open_and_X, close. More
to come, but I would appreciate some help here.
Volker
(This used to be commit 5594af2b208c860d3f4b453af6a649d9e4295d1c)
|
|
If restoring a backup fails due to lack of space, remove the
corrupt tdb previously moved away to "name.corrupt", and retry.
If restoring still fails, move the backup in place instead of
copying it.
Michael
(This used to be commit f81f2bf480a955213be8461636ee6f81643f17b8)
|
|
Michael
(This used to be commit de0ef9134650e3e7cc5b5cfec9e8dd8510bd6677)
|
|
error condition to write. This is in tdb_new_database.
Fix one call to tdb_new_database in tdb_open_ex to not
overwrite the newly propagated errno (typically ENOSPC).
Michael
(This used to be commit 24fed55d72a4922bfd3ddba61449fbae01365feb)
|
|
* prevent infinite loops due to 0 bytes written:
try once more. if we still get 0 as return,
set errno to ENOSPC and return -1 (error)
* replace int by correct types (ssize_t and size_t).
* print a warning log message in case "written < requested to write"
usually this means, that the next call to pwrite will fail
with return value -1 and set errno accordingly.
Note that the former error condition "written != requested to write"
is not a correct error condition of write/pwrite. If this is due
to an error, a subsequent call to (p)write will reveal the cause
(typically "no space left on device" - ENOSPC).
Michael
(This used to be commit 5b8d53dfe1872621bf28c8351d87bfc53ef6e66b)
|
|
(This used to be commit 909172839a512b60db075fb1a7488345a2e48eb0)
|
|
The proper error condition is (ret == -1) instead of
(ret != number_of_byte_told_to_write).
Michael
(This used to be commit e3af95f0983e9f92c10a80ee4f15a0cd718a4728)
|
|
Michael
(This used to be commit efabd7fe03733d1fcb02d0d270c18ede7836f3a9)
|
|
- call tdb_validate on the given tdb.
- if validation is successful, create a backup
return 0 (success) even if the backup fails.
- if validation fails:
- move tdb to name.corrupt (don't exit if this fails)
- look for a valid backup
- if a valid backup is found, restore it, else return -1 (failure)
if restoring succeeds, return 0 (success), else -1 (failure)
Summing up:
If 0 is returned, there is a valid tdb at the given location:
either the original one ore one restrored from a backup.
If -1 is returned, there is no valid tdb at the given location:
Either there is no file at all, or the original file is still
in place (if moving it away failed).
Michael
(This used to be commit 1c36ccd86d85b02f27ec66d37bdf7f04ad760901)
|
|
Michael
(This used to be commit 63c4c40cf7055ab7cf413a23e306cf209a1dd0a1)
|
|
(This used to be commit 6bd2c48921dd8dbf2885a8135ba01a1324e020c8)
|
|
functions did not do so but returned an error. (This is the case when
error occurred deeper than at the level of the content checking done by
the per entry validate_fn.)
Michael
(This used to be commit e56be59947a29d0a5692f3f3bc6c089dd8b4b5d9)
|
|
This is a wrapper around tdb_validate, that does backup handling:
* if the given tdb is valid, a backup is created (name.bak)
* if the tdb is invalid, if a valid bakup is found (validated
with the same validation function) under the name "name.bak"
the orignal tdb is moved to name.corrupt and the backup
is restored.
For the backup handling, a variant of the backup_tdb function
from lib/tdb/tools/tdbbackup.c is included in lib/util_tdb.c.
The copy function for the traverse action eliminates the need
to maintain a global success state by using a struct wrapping
the target tdb and a success flag as the private data.
Michael
(This used to be commit ca63a99b6188c0976603dc2852e478cc7a6b2f8b)
|
|
sid_array_from_info3()
function.
Guenther
(This used to be commit 1e1e480115e37b3f4c85f979ddd800b8de0b9c57)
|
|
(This used to be commit 864b3d260f3b099b1f24edf4ed0a7ed52b05f6cc)
|
|
(This used to be commit a40d3a566af88464fc6afd2c6e6e8b6e3a98aac2)
|
|
before calling ctdb_fatal()
metze
(This used to be commit 48ece3c21e3a5e9aa434c847eefaab59274a4e6f)
|