1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00
Commit Graph

4045 Commits

Author SHA1 Message Date
Michael Adam
19bbee2acd vacuum: change get_vacuum_interval() to simply return the VacuumDefaultInterval tunable
(This used to be ctdb commit 621c3ce957cb946ca05a2d527c037746ae2f01d3)
2011-12-23 17:39:01 +01:00
Michael Adam
87351d8801 vacuum: remove update_tuning_db()
(This used to be ctdb commit d93750ea3f5cb854e5893e53795fd08656e7c12c)
2011-12-23 17:39:01 +01:00
Michael Adam
6f0b22234f ctdb_ltdb_store_server: when storing a record that is not to be scheduled for deletion, remove it from the delete queue
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>

(This used to be ctdb commit 489148e465e2b8aed87ea836e3518f43490671ca)
2011-12-23 17:39:01 +01:00
Michael Adam
a481ca711f vacuum: add ctdb_local_remove_from_delete_queue()
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>

(This used to be ctdb commit a5065b42a98c709173503e02d217f97792878625)
2011-12-23 17:39:00 +01:00
Michael Adam
3dab0c9b0b rb_tree: fix possible access-after-free-error in trbt_traversearray32_node
When the traverse callback frees the current node, the traverse of the
rbtree can fail (the next node->right fails since node is not there any more...).
This is fixed by introducing variables to store the right (and left)
pointers before the callback is called.

(This used to be ctdb commit 8b0caaeed154d26c67a73659d3bbbdd63b21be11)
2011-12-23 17:39:00 +01:00
Michael Adam
6e42e03b57 fix zero-initialization of header in _ctdbd_allocate_pkt to the correct size
(This used to be ctdb commit 6c4d1b768ccade344a7462ecad7cf5cbbf3873d4)
2011-12-23 17:39:00 +01:00
Martin Schwenke
36462d46f4 Tests: eventscripts - add tests for CTDB_DELETE_UNEXPECTED_IPS="yes"
Signed-off-by: Martin Schwenke <martin@meltin.net>

(This used to be ctdb commit 00373958a5d5fb8c9b99548d5b9f327e78669162)
2011-12-19 11:29:46 +11:00
Ronnie Sahlberg
a05dd12379 DOC: Update the manpage to describe all relevant tunables
(This used to be ctdb commit 3f471da605b9c43d5e1206452f238c2a91dc02f7)
2011-12-14 14:23:53 +11:00
Ronnie Sahlberg
f253f69063 typo
(This used to be ctdb commit 8fc71ad4da746e28406c06a95928052b29803062)
2011-12-14 12:52:35 +11:00
Michael Adam
5c7c66a30e libctdb: fix libctdb's traverse after changes in the core
In 8281bb210858ed04992eacea7f6d02261e0fc1b1, I forgot to change
this hunk back when hiding the wire changes done in commit
ddc5da3a0df7701934404192a0a0aa659a806acb behind a new control
CTDB_CONTROL_TRAVERSE_START_EXT.

(This used to be ctdb commit faf25e8a2fdf80a016048e1f698a014ceb5e604f)
2011-12-06 10:43:28 +01:00
Michael Adam
c56db0c3b5 Revert "Fix the build that broke in 8281bb210858ed04992eacea7f6d02261e0fc1b1"
This reverts commit 08e06176feab1ec244496e62a916fbb77817239f.

I wanted to fix this differently, not using the extended traverse_start
control...

(This used to be ctdb commit f60de23e0a8307b5baaa9c4b8406b2b223487a48)
2011-12-06 10:43:28 +01:00
Martin Schwenke
7f25864db0 ctdb tool - move parsing of nodestring to where it is needed
This puts the parsing and checking logic close together.  This makes
it easy to change the parsing code.  Changed parsing code can now
easily use both old client code and libctdb since both are guaranteed
to be setup.

Signed-off-by: Martin Schwenke <martin@meltin.net>

(This used to be ctdb commit 57fb074a65dc56168fc3813b79a5bab4b3727cf3)
2011-12-06 13:59:32 +11:00
Martin Schwenke
dbd452c801 ctdb tool - replace fprintf with DEBUG
It's the only one in the file.

Signed-off-by: Martin Schwenke <martin@meltin.net>

(This used to be ctdb commit bf1174ef699b06485b36ee8ae70412be0759e142)
2011-12-06 13:59:32 +11:00
Martin Schwenke
ba6e6f689c ctdb tool - short circuit most of the logic in main for non-daemon commands
This allows all that logic to be hacked a little more easily.

Signed-off-by: Martin Schwenke <martin@meltin.net>

(This used to be ctdb commit f93ffeee7b9e9ca5dd116655bdc7f89fc987ed8a)
2011-12-06 13:59:32 +11:00
Martin Schwenke
7e9f998745 ctdb tool - commands that don't use the daemon can't take -n/--node
It just doesn't make sense!

Signed-off-by: Martin Schwenke <martin@meltin.net>

(This used to be ctdb commit c4b72683eb046007fbc2e60b4a54bc91faf4cf7e)
2011-12-06 13:59:32 +11:00
Martin Schwenke
5f69ad3c0a ctdb tool - simplify main() by taking most code out of a loop
Most of the action in main() happens inside a for loop and an if
statement.  This causes 2 levels of extra indent for the code and
makes it harder to read.

Instead, the current body of the loop is put below the loop and its
corresponding failure check.

To see how small this change really is, view with "diff -w".  ;-)

Signed-off-by: Martin Schwenke <martin@meltin.net>

(This used to be ctdb commit 8527396b7290cfc8378779631e91d2ae09e2a106)
2011-12-06 13:59:32 +11:00
Ronnie Sahlberg
c3ee62439f Return the peer_pid properly to the caller
(This used to be ctdb commit 0f15a2c65db8f8b4ac0d5ad2755b9aa3c2a8b279)
2011-12-06 13:16:15 +11:00
Ronnie Sahlberg
609149bdc8 LibCTDB: Add support for the 'get interfaces' control and update the ctdb tool to use this interface
(This used to be ctdb commit 77dc0c7351071243d9096d3607d7499c82f46ec0)
2011-12-06 13:12:18 +11:00
Mathieu Parent
1ed5288c38 GNU/Hurd support
CTDB has the following limitations on GNU Hurd:

- The pid of a peer is not get from the socket [1]. As a consequence, the peer
  process is not killed when releasing IP [2].

- Gratuitous arp are not yet supported [3]

- network interfaces are always considered present [4]

[1]: ctdb_get_peer_pid() in common/system_gnu.c
[2]: release_kill_clients() in server/ctdb_takeover.c
[3]: ctdb_sys_send_arp() in common/system_gnu.c
[4]: ctdb_sys_check_iface_exists() in common/system_gnu.c

(This used to be ctdb commit 00212e5c7dd229e7f8975a165d5ab8875d4917cc)
2011-12-06 11:58:14 +11:00
Mathieu Parent
bb3d6698e9 Move platform-specific code to common/system_*
This removes #ifdef AIX and ease the addition of new platforms.

(This used to be ctdb commit 2fd1067a075fe0e4b2a36d4ea18af139d03f17bf)
2011-12-06 11:57:11 +11:00
Mathieu Parent
4ce585cd0e Remove zero-length gnu_printf format string in ctdb_daemon.c (gcc warning)
server/ctdbd.c: In function ‘main’:
server/ctdb_daemon.c:943:7: warning: zero-length gnu_printf format string [-Wformat-zero-length]

(This used to be ctdb commit e6d1dd3ec4a078e5f32bc52a4a9e4b7d9a2e2d16)
2011-12-06 11:56:18 +11:00
Mathieu Parent
956f06f3ae Fix ctdb-crash-cleanup sysconfig handling
(This used to be ctdb commit 667b174d605646b53f4855e9aaf5f8ce4fdde532)
2011-12-06 11:55:46 +11:00
Ronnie Sahlberg
27a0414a5d Fix the build that broke in 8281bb210858ed04992eacea7f6d02261e0fc1b1
The traverse control has changed wireformat so update also libctdb to use the correct
version of the wire structure and compile

(This used to be ctdb commit 08e06176feab1ec244496e62a916fbb77817239f)
2011-12-06 11:29:49 +11:00
Michael Adam
ad0de5494e traverse: fix traversing with empty records by adding a new (internal) control CTDB_CONTROL_TRAVERSE_START_EXT
By this, the original CTDB_CONTROL_TRAVERSE_START control that is
used by e.g. samba's smbstatus, is not changed, so that samba
continues working without code change.

The  CTDB_CONTROL_TRAVERSE_START currently just adds the "withemptyrecords"
flag to the state and processon on as CTDB_CONTROL_TRAVERSE_START_EXT.

(This used to be ctdb commit 8281bb210858ed04992eacea7f6d02261e0fc1b1)
2011-12-03 02:15:30 +01:00
Ronnie Sahlberg
e15df55b5e DOC: document the check_srvids debugging command
(This used to be ctdb commit 6489d0d9b8ec14c7764a1865618faf659800bcc3)
2011-11-30 10:05:59 +11:00
Ronnie Sahlberg
7d31c64c1c ctdb: use libctdb version of check-srvids call
(This used to be ctdb commit 36105b7283df729946e0a2ed61a696a14221efa6)
2011-11-30 10:00:27 +11:00
Ronnie Sahlberg
11f3c947e6 LibCTDB: add support for the check-srvids control
(This used to be ctdb commit c32604fd0016de0df14845a2f222edaa3c52a4fa)
2011-11-30 10:00:07 +11:00
Ronnie Sahlberg
5a1e8df451 check_srvids: remove the <pnn> from the commandline so that we only specify the list of <srvids>
Specifying the pnn can be done via '-n <pnn>'

(This used to be ctdb commit e9250775f5a1234f27a1a62caa902d7b86194285)
2011-11-30 09:50:12 +11:00
Volker Lendecke
6f657dadd3 Add "ctdb check_srvid"
(This used to be ctdb commit 92a391a81d0697956b96e96e39bb1b9d13e18097)
2011-11-30 09:02:26 +11:00
Volker Lendecke
5a1da0ac55 Add CTDB_CONTROL_CHECK_SRVID
(This used to be ctdb commit ad64ef2c40a2a12b37dbf39142e95c6781c2fc3b)
2011-11-30 09:02:26 +11:00
Ronnie Sahlberg
940e9cb7a7 DOC: describe the RecoverPDBBySeqNum tunable
(This used to be ctdb commit 86d956170d4806065f1470fc44710c085c57f17a)
2011-11-30 08:59:03 +11:00
Ronnie Sahlberg
0420449a6c Recover Persistent database DB by DB and not record by record
Add a new tunable that changes the mode how persistent databases are recovered.
RecoveryPDBBySeqNum

When set to 1, persistent databases will be recovered in whole from the node which
has the highest "__db_sequence_number__" record.
This record is managed by samba for those databases where we do persistent writes and have
inter-record relations.
For these databases we do not want the usual "blend records from all nodes based
on individual record RSN" but instead a mode where we pick one instance of the persistent database.

If no node was found with a "__db_sequence_number__" record at all, we fail back to the original "recover records independently based on record RSN".
Some persistent databases do not contain record interrelations and as such does not
contain this special record at all.

(This used to be ctdb commit 502150c764298a9fa8c4d8aa445bf7d85d4ee9dc)
2011-11-30 08:48:23 +11:00
Ronnie Sahlberg
3cbff2edd8 LibCTDB: add get persistent db seqnum control
(This used to be ctdb commit 6e96a62494bbb2c7b0682ebf0c2115dd2f44f7af)
2011-11-30 08:48:14 +11:00
Ronnie Sahlberg
3e2c40c590 DB Seqnum: must provide a ctdb_ltdb_header when calling ctdb_ltdb_fetch()
(This used to be ctdb commit 1fea9ef55a6a9d201ad1b49583451ac3e6b1c66d)
2011-11-30 08:48:04 +11:00
Michael Adam
3efb3c74ed doc: commit generated ctdb.1 manpages after xml change
(This used to be ctdb commit 3b6ef3442f0b62d65ec0f9be67a2b1dbf7e4af67)
2011-11-29 13:43:35 +01:00
Michael Adam
ad811952f1 doc: document the "--print-recordflags" parameter to "ctdb"
(This used to be ctdb commit 5b527e6127a649fa80dcf9a7599b22bcb7cd3640)
2011-11-29 13:43:35 +01:00
Michael Adam
31d62794fe ctdb: add an option --print-recordflags to trigger printing record flags in catdb and dumpdbbackup
This changes the default behaviour to not print record flags.

(This used to be ctdb commit 2d2ce07c51055d9400b22cd3c1fd682597cb921c)
2011-11-29 13:43:35 +01:00
Michael Adam
8fe8e277d9 doc: commit generated ctdb.1 manpages after xml change
(This used to be ctdb commit 0e26774f32d7ea0ce9d034c331730f5324f6b092)
2011-11-29 13:43:34 +01:00
Michael Adam
2386830acc doc: document the "--print-hash" parameter to "ctdb".
(This used to be ctdb commit 998b7f4450026051867525d91c6d8dcbd2326ab5)
2011-11-29 13:43:34 +01:00
Michael Adam
e6923904e8 ctdb: add an option --print-hash to enable printing of record hashes when dumping dbs
(This used to be ctdb commit efc033c28ade97f9884794256d59a4553e052d5f)
2011-11-29 13:43:34 +01:00
Michael Adam
290559e53d doc: commit generated ctdb.1 manpages after xml change
(This used to be ctdb commit 7f46671fc912c969c5c87e50b77e2e3a7d6c8904)
2011-11-29 13:43:33 +01:00
Michael Adam
072ba306b7 doc: document the "--print-lmaster" parameter to "ctdb"
(This used to be ctdb commit 7e7d86ac9b05f8b67414200adc8ac87cfccf26cf)
2011-11-29 13:43:33 +01:00
Michael Adam
86cd78efee ctdb: add an option --print-lmaster to enable printing of lmaster in "ctdb catdb"
(This used to be ctdb commit 326f88ef622620cb9e0569c4497bc0e86124beaa)
2011-11-29 13:43:33 +01:00
Michael Adam
239ae605e3 doc: commit generated ctdb.1 manpages after xml change
(This used to be ctdb commit 6f8e7480dadf15d1639355fdb61d5bef025a0325)
2011-11-29 13:43:33 +01:00
Michael Adam
e435fe76a3 doc: document the "--print-datasize" parameter to "ctdb"
(This used to be ctdb commit 9e8045a5b0d8bd9ab2e0343b329de9f45b883531)
2011-11-29 13:43:32 +01:00
Michael Adam
dc98c12ac9 ctdb: add an option --print-datasize to only print datasize instead of dumping data in db dumps
Used in catdb, cattdb and dumpdbbackup.

(This used to be ctdb commit dd866116041e71cbf91e7fd91edcc9501634051d)
2011-11-29 13:43:32 +01:00
Michael Adam
1dfdb9d887 doc: commit generated ctdb.1 manpages after xml change
(This used to be ctdb commit 079f12dfc1edeac9748af15f652f2f1a6ed35548)
2011-11-29 13:43:32 +01:00
Michael Adam
ebfc6cece2 doc: document the --print-emptyrecords switch in the "ctdb" manpage.
(This used to be ctdb commit 7b4663dd2454b798841815044f898dead9b734e2)
2011-11-29 13:43:32 +01:00
Michael Adam
1fcc7651f4 ctdb: add an option --print-emptyrecords to enable printing of empty records in dumping databases
this option is used with the commands catdb, cattdb and dumpdbbackup.

(This used to be ctdb commit 6ec68a2e667f66d2b194fe48cb75229a2777842e)
2011-11-29 10:30:24 +01:00
Michael Adam
554d68df60 client: add version ctdb_traverse_ext() of ctdb_traverse() that can list empty records.
(This used to be ctdb commit 4ada4bfc4510886c5c7fcf49e09711b9d2dcb75d)
2011-11-29 10:30:24 +01:00