[SCM] Samba Shared Repository - annotated tag tevent-0.9.20 created
Stefan Metzmacher
metze at samba.org
Thu Dec 12 01:48:25 MST 2013
The annotated tag, tevent-0.9.20 has been created
at 6a459f3b1cd6fb4a0eca3d0a58fd75020dbb25d2 (tag)
tagging e26736dcc25a204bf21a367462d0c10060bee1ad (commit)
replaces talloc-2.1.0
tagged by Stefan Metzmacher
on Thu Dec 12 09:48:19 2013 +0100
- Log -----------------------------------------------------------------
tevent: tag release tevent-0.9.20
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQEcBAABAgAGBQJSqXhTAAoJEEeTkWETCEAlHIgIALUK+2ukC/5N8kQNQZ9bHu9r
hycPjOj1of5A21DUGiW0VMXpVAK6fMeQKSWkKA1tPmCfX/kazqKN8w1V0OfonYUc
CgJFBoKML7ivO6RmcDCFOA2oIRI80TDF/YwivkL/CX1T2WUl1tIjx1azCl5Ty62q
M0jVU6ARXazDUO56zFzadKurgj6exts++fasSeho7d9CGozPY3tPKyQzUrYQ/SOw
OjqWvcBWknjvKvyL3LrQAtDL5N2tdAXOZ7cTdVju94R/WCkAf9LUQlR1T4nx/4/Z
CEltGGv1m6b4eVvmCwCa1/V8Lrqf/6C/G/NkspAFv/nvr8TEEuS+st4c+WfjFio=
=Sss1
-----END PGP SIGNATURE-----
Abhidnya Joshi (1):
idmap_autorid: fix failure in reverse lookup if ID is from domain range index #0
Alexander Bokovoy (12):
Fix popt handling, this fixes segfault while asking for --help
Merge from tridge
Ignore configure
Ignore configure
Fix ctdb_call() fetching data and ltdb backend flags
rely on ctdb_test.c for the moment
change test a bit -- work on whole array of ints and process it in the loop (locally)
regenerate configure after changing configure.ac
Merge from tridge
Provide an alternative CTDB_NO_MEMORY_NULL() for functions which return a pointer
Fix memory handling
Fix cleaning targets to delete proper files
Alexander Werth (2):
s3:modules: Fix realloc with zero sized ACLs
s3:modules: nfs4_acls ACLs with zero entries are fine.
Alistair Leslie-Hughes (2):
Free memory on error
Stop use after free
Amitay Isaacs (331):
build: Add rules to create ctags/etags
packaging: Setup directories for rpmbuild
build: Remove re-definition of same variable
build: Display correct LIB_FLAGS while building
build: Use system talloc library if available
build: Use system tevent library if available
build: Use system tdb library if available
recovery: Add prototypes for tdb internal functions
build: Substitute POPT macros once and reuse variables
tests/tool: Fix the nodestatus test
tests/tool: New nodestatus test
tests: exportfs always outputs with options in brackets
tests: Add a script to run cluster tests and make target "test_cluster"
tests: Add regular expression parsing for hop_count_buckets
tests: Fix the error messages in test event script
ctdbd: Fix the error message string
tests: Check for assigned IP addresses only if we are on real cluster
tests: Check assigned IPs from ctdb output
tests: Set the debug level = 3 when running local tests
tests: Use CTDB_TEST_REAL_CLUSTER to decide if tests use local daemons
recoverd: Fix spurious warnings when running with --nopublicipcheck
ctdbd: Fix spurious warnings when running with --nopublicipcheck
includes: Move special tevent defines from tevent.h to includes.h
Remove explicit include of lib/tevent/tevent.h.
ctdb_test: Remove faked wrappers for tevent functions in stub testing
lib/tevent: Remove local modifications to tevent
lib/tevent: Remove the files required to build tevent as a library
lib/tevent: Sync tevent from samba git tree
lib/talloc: Remove the files required to build talloc as a library
lib/talloc: Sync talloc from samba git tree
lib/tdb: Remove the files required to build tdb as a library
lib/tdb: Sync tdb from samba git tree
tests/tool: Fix the nodestatus test
tests/tool: New nodestatus test
tests: Fix wrapper scripts
tests: CTDB_TEST_WRAPPER has to be an absolute path on a real cluster
tests: test_wrap needs to set TEST_SCRIPTS_DIR
tests/simple: Fix typo in the test message
server: locking: Provide a common API for non-blocking locking of TDBs
Revert "server: locking: Provide a common API for non-blocking locking of TDBs"
tests: Use per node log files when running tests with local daemons
packaging: make ctdb-tests package depend on nc
server: Replace BOOL datatype with bool, True/False with true/false
tests: Fix flakey behavior of ctdb_fetch test
tests: Fix ctdb_fetch test (parse extra lines of output)
tests: Increment RSN always in ctdb_update_record_persistent test
Fix compiler warnings.
util: Do not try to lockdown memory when running in local daemons mode
ctdbd: Return explicit boolean values for function returning bool
Remove tevent_loop_allow_nesting()
web: Add my name to the developer list.
util: Do not lock down memory when running with local daemons
doc: Fix path string of /etc/sysconfig/ctdb file
Revert "when creating/adding a public ip, set the initial interface to be the first interface specified"
doc: Fix the hyperlink for "Testing CTDB" page
scripts: Remove duplicate code from init script to set tunables
doc: Fix documentation for setup event
doc: Add info about execute permissions on event scripts
header: Added DB statistics update macros
common: Add routines to get process and lock information
ctdbd: locking: Provide non-blocking API for locking of TDB record/db/alldb
tools/ctdb: Display the locking statistics
tests: Fix statistics test for new output lines from locking API
ctdbd_test: Include ctdb_lock.c code for test stubs
ctdb_freeze: Replace locking functions with locking API
ctdb_recover: Replace static locking functions with locking API
ctdbd: Replace lockwait with locking API and remove ctdb_lockwait.c
locking: Schedule a new lock request everytime a lock is released
locking: Add database priority handling for older versions of samba
locking: Do not use ctdb_kill() to kill smbd processes
build: Set CTDB_PATH to /tmp/ctdb.socket if SOCKPATH is not defined
web: Remove reference to non-existent config files
web: Add the links to ftp/http ctdb download area
web: Add posix locking information to prerequisites
doc: README - add information about CTDB, license and website
build: Extract building of manpages in a separate Makefile
packaging: Build docs and include them in tarball
packaging: Factor out the code to genreate VERSION string
packaging: Use common code to generate VERSION string
doc: Do not keep the built version of manpages in version control
packaging: Bundle README, COPYING and html version of manpages
web: Update broken links to manpages
packaging: Create include/version.h to define CTDB_VERSION_STRING
build: Add rules to create include/version.h when building from git tree
tool/ctdb: Always support ctdb version command, don't make it optional
packaging: Use optional argument as targetdir when creating tarball
packaging: Use maketarball.sh script to create tarball for RPM
tests: Do not check release suffix in ctdb version test
web: Update instructions for building from tarball
recoverd: Track the nodes that fail takeover run and set culprit count
tools/ctdb: Do not use function return value as pnn
locking: Do not use RECLOCK for tracking DB locks and latencies
doc: Update ping_pong documentation to add -c option
daemon: Check if log_latency_ms is set before using it
daemon: Add a tunable to enable automatic database priority setting
tests/complex: Add NFS test when CTDB is killed on one of the nodes
daemon: Update the comment and remove redundant check in ctdb_start_transport()
tools/ctdb: Add pdelete command to delete a record from persistent database
tools/ctdb: Re-factor code to check if db exists given name or id
tools/ctdb: Add setdbseqnum command to set __db_sequence_number__
tests: Add a test for recovery of persistent databases
daemon: On shutdown, destroy timed events that check if recoverd is active
daemon: Protect against double free of callback state while shutting down
recoverd: Create recoverd monitoring timed events off recoverd context
recoverd: Fix printing of node flags from local information
daemon: Make sure all the traverse children are terminated if traverse times out
eventscripts: Remove calls to "smbstatus -np" for samba cleanup
ctdbd: Fix the PullDBPreallocation size to 10MB as intended
common/io: Rewrite socket handling code to read all available data
ctdbd: Add an index db for message list for faster searches
common/io: For scheduling immediate events use tevent_schedule_immediate
logging: Do not ignore stdout/stderr from the exec'd children
util: Add hex_decode_talloc() to decode hex string into a binary blob
common/messaging: Free message list header if all message handlers are freed
common/messaging: Don't forget to free the result returned by tdb_fetch()
common/messaging: Abstract db related operations inside db functions
Revert "client: handle transient connection errors"
client: Set the socket non-blocking only after connect succeeds
statd-callout: Make sure statd callout script always runs as root
recoverd/takeover: Use IP->node mapping info from nodes hosting that IP
tools/ltdbtool: Fix handling of -e option
tests: Fix typo in variable name
traverse: Add CTDB_CONTROL_TRAVERSE_ALL_EXT to support withemptyrecords
traverse: Ensure backward compatibility for CTDB_CONTROL_TRAVERSE_ALL
tests: Support waiting for "recovered" state in tests
tests: Add a test for subsequent recoveries corrupting databases
ctdbd: Set num_clients statistic from ctdb->num_clients
eventscripts: Do not use bashism for string comparison
logging: Fix a bug in ringbuffer
build: Rename version.h to ctdb_version.h
ctdbd: Print version string in the daemon startup
tools/ctdb: Fix racy ipreallocate code
locking: Add newline to debug logs
locking: Refactor code to iterate over databases based on priority
locking: Add handler function for locking a database
locking: Use database iterator for locking databases
locking: Add handler function for unlocking a database
locking: Use database iterator for unlocking databases
locking: Add handler function for marking a database
locking: Use database iterator for marking databases
locking: Add handler function for unmarking a database
locking: Use database iterator for unmarking databases
locking: Add a standalone helper to lock record/db
locking: Create commandline arguments for locking helper
locking: Use separate locking helper binary for locking
locking: Remove functions that are not used anymore
locking: Remove functions that are not used anymore
locking: Set lock helper path once
tests: Fix output of run_tests usage
logging: Make sure ringbuffer messages are terminated with a newline
vacuum: Reduce the priority of non-critical error
util: Do not stop build if backtracing is not supported
libctdb: Do not include sys/time.h to support build on AIX
tests: Include system/time.h to support building on AIX
tests: Do not use err() to support AIX
build: Support for building on AIX xlc compiler
build: Use REPLACE_OBJ and CTDB_EXTERNAL_OBJ to simplify build rules
git: Ignore ctdb_version.h file
git: Ignore generated ctdb.spec file
ctdbd: Log node state transitions at higher debug level
talloc: Sync to talloc 2.0.8 from upstream
tdb: Sync to tdb 1.2.11 from upstream
replace: Sync to latest replace from upstream
tevent: Sync to tevent 0.9.18 from upstream
build: Fix extra whitespaces
ctdbd: Make sure we don't kill init process by mistake
build: Enable VERBOSE option to display build command line
packaging: Update the minimum required library versions
tools/ctdb: Do not exit prematurely on control timeout if retrying in a loop
client: Exit with non-zero status when unix socket is closed
recoverd: When updating flags on nodes, send updated flags and not old flags
recoverd: Print banning message only after verifying pnn
freeze: Log message from ctdb_start_freeze() and ctdb_control_freeze()
freeze: If priority is invalid here, it's time to abort
freeze: Make ctdb_start_freeze() a void function
banning: Log ban state changes for other nodes at higher debug level
recovered: Remove old comment as the code corresponding to that has gone away
recoverd: Set node_flags information as soon as we get nodemap
recoverd: Also check if current node is in recovery when it is banned
banning: Make ctdb_local_node_got_banned() a void function
banning: No need to check if banned pnn is for local node
banning: Do not come out of ban if databases are not frozen
recoverd: Do not set banning credits on a node if current node is inactive
recoverd: Always do an early exit from main_loop if node is stopped or banned
recoverd: No need to check if node is recovery master when inactive
recoverd: Update capabilities only if the current node is active
recoverd: Delay the initial election if node is started in stopped state
recoverd: Move code to ban other nodes after we get local node flags
recoverd: Refactor code to ban misbehaving nodes
doc: The second half of monitoring is only for recovery master
ctdbd: Don't ban self if init or shutdown event fails
packaging: Remove ctdb_transaction from docdir
packaging: Install docs using %doc directive
packaging: Install README.notify.d using %doc directive
packaging: Do not mark /etc/ctdb/functions as configuration file
packaging: Allow building RPMs with system tdb/talloc/tevent
packaging: Enable compiler optimizations
recoverd: Send the result from child process only once
build: Fix compiler warnings for uninitialized variables
tests: If connection to ctdb daemon fails, exit
ping_pong: Validate num_locks argument > 0
recoverd: Fix buffer overflow error in reloadips
ctdbd: Update debug messages for setting readonly property on database
ctdbd: Remove incomplete ctdb_db_statistics_wire structure
tools/ctdb: Fix the format of DB statistics output
locking: Update locks latency in CTDB statistics only for RECORD or DB locks
locking: Update locking bucket intervals
locking: Use external script to debug locking issues
scripts: Add an example debug_locks.sh script to debug locking issue
initscript: Export CTDB_DEBUG_LOCKS variable
ctdbd: No need for DeadlockTimeout tunable
packaging: When building with system libraries, add dependency for them
traverse: Pass reqid and srcnode information to local database traverse
traverse: Send records directly from traverse child to srcnode
traverse: Remove unused start_time field
common/system: Add ctdb_set_process_name() function
ctdbd: Set process names for child processes
ctdbd: Print tdb flags when logging attached to database message
doc: Update NEWS
Tests: Correct the arguments to memset
web: Update webpages
packaging: No need to check for existence of scripts, they always do
packaging: Bundle debug_locks.sh script in RPM
Revert "ctdbd: Remove incomplete ctdb_db_statistics_wire structure"
ctdbd: Remove incomplete ctdb_db_statistics_wire structure
ctdbd: Fix updating of hot keys in database statistics
ctdbd: Don't consider a hot record if the hopcount is zero
tools/ctdb: Only print the hot records with non-zero hopcount
recoverd: Assemble up-to-date node flags information from remote nodes
recoverd: Make sure to use jenkins hash for recovery databases
client: Always use jenkins hash when attaching volatile databases
recoverd: Use correct tdb flags when creating missing databases
tests: Add a test program to hold a lock on a database
ctdbd: Print set db sticky message after it's set
locking: Move function find_lock_context() before ctdb_lock_schedule()
locking: Do not create multiple lock processes for the same key
eventscripts: Use configured RECLOCK file instead of asking CTDB
eventscript: Wait for debug hung script to finish or timeout before continuing
ctdbd: Avoid leaking file descriptor if talloc fails
ctdbd: Improve high hopcount log messages when request is redirected
ctdbd: When a record is made sticky, log only once
common/io: Keep queue buffer size multiple of 4K
Revert "recoverd: Use correct tdb flags when creating missing databases"
recoverd: Use TDB_INCOMPATIBLE_HASH when creating volatile databases
db_wrap: Make sure tdb messages are logged correctly
vacuuming: Fix vacuuming bug where requests keep bouncing between nodes (part 1)
vacuuming: Fix vacuuming bug where requests keep bouncing between nodes (part 2)
common: Null terminate process name string so valgrind doesn't complain
recoverd: Improve log message when nodes disagree on recmaster
ctdbd: For volatile databases, write an empty record with rsn=0 only on dmaster
ctdbd: Print a log message when a key becomes hot
Revert "LACOUNT: Add back lacount mechanism to defer migrating a fetched/read copy until after default of 20 consecutive requests from the same node"
Revert "common/io: Keep queue buffer size multiple of 4K"
common/io: Limit the queue buffer size for fair scheduling via tevent
ctdbd: Make sure call data is freed if doing an early return
ctdbd: Finish eventscript callback processing before debugging hung script
traverse: Log when database traverse is started
build: Fix build dependencies for ctdb_lock_tdb
eventscripts: Load CTDB configuration settings in 70.iscsi
traverse: Log information when traverse starts and ends
traverse: Check if local traverse failed or succeeded
traverse: Use ctdb local variable for convenience
traverse: Wait till all data has been flushed from output queue
traverse: Send traverse end record from traverse child process
tests: Add a simple test to test cluster wide database traverse
tools/ctdb: Remove un-implemented ctdb vacuum command
tools/ctdb: When printing TDB data as a string, use correct length of the string
tests: Remove unused test program ctdb_fetch_lock_once
client: Remove extra whitespaces
client: Add ctdb_client_check_message_handlers() function
client: Add ctdb_ctrl_getdbstatistics() function
client: Add ctdb_ctrl_getdbseqnum() function
tools/ctdb: Do not use libctdb for commandline tool
tests: Do not use libctdb code in tests
tools/ctdb: Pass memory context for returning nodes in parse_nodestring
libctdb: Remove incomplete libctdb
common: Fix setting of debug level in the client code
include: Remove unused set_dmaster structure
ctdbd: Create a utility function to log error for "not implemented" controls
ctdbd: Deprecate TRANS2 commit controls
ctdbd: Remove transaction code related to TRANS2 commits
client: Add functions to handle server_id structure
client: Add functions to parse g_lock.tdb records
client: Reimplement persistent transaction code using TRANS3_COMMIT
client: Remove old persistent transaction code
tests: No need to set sequence number when modifying persistent database
tools/ctdb: Remove setdbseqnum command
tests: Re-enable transaction test code
tests: Make sure test exits with zero status on successful completion
tests: If transaction_start fails, try again
common/util: Use AIX specific code for setting high priority for CTDB daemon
recoverd: Ignore failed flag updates on inactive nodes
eventscripts: Instead of listing all tunables, query EventScriptTimeout
doc/examples: Add CTDB configuration examples
tcp: Create socket lock in /var/run/ctdb instead of /tmp
packaging: Move ctdb/ directory from /var to /var/lib
build: Move the default CTDB socket from /tmp to /var/run/ctdb
packaging: Create runtime directories for CTDB
daemon: Change the default recovery method for persistent databases
tunables: Remove obsolete tunables
web: Add links to new manpages
client: Make g_lock_lock() wait till lock is obtained
Revert "tests: If transaction_start fails, try again"
tests: Fix calling of ctdb tool from test
ctdb-server: Coverity fixes
ctdb-client: Coverity fixes
ctdb-common: Coverity fixes
ctdb-tools/ctdb: Coverity fixes
ctdb-tcp: Coverity fixes
ctdb-tests: Coverity fixes
ctdb-tests: Remove -q option to try_command_on_node
ctdb-tests: No need to run onnode in parallel for single node
ctdb-tests: CTDB tool should always be invoked as $CTDB instad of ctdb
ctdb-tools/ctdb: Fix db commands when dbid is given instead of name
ctdb-client: Treat empty __db_sequence_number__ record as 0
ctdb-locking: Implement active lock requests limit per database
ctdb-locking: Do not merge multiple lock requests to avoid unfair scheduling
ctdb-locking: Update current lock statistics when lock is scheduled
ctdb-scripts: Run a single instance of debug_locks.sh at a give time
ctdb-common: Refactor code to keep track of child processes
ctdb-locking: Use vfork instead of fork to exec helpers
ctdb-tools/ctdb: Fix tstore command to generate ltdb header internally
ctdb-eventscripts: Perform share check before NFS RPC checks in 60.ganesha
ctdb-scripts: Set defaults for CTDB_DBDIR and CTDB_DBDIR_PERSISTENT
ctdb-scripts: Replace hard-coded /var/ctdb with CTDB_VARDIR
ctdb-config: Simplify the default CTDB configuration file
ctdb-scripts: Be careful when generating unique pids for stack traces
autobuild: Run ctdb regression tests
netcmd/dns: Catch wildcard patterns when querying for name
s4-dns: Ignore duplicate dns zones from multiple locations in dlz_bind9
s4-rpc: dnsserver: Ignore duplicate dns zones from multiple locations
Andreas Schneider (71):
Fix circular dependency error with autoconf 2.6.3.
libutil: Remove obsolete signal type cast.
s3-winbind: Don't set a default directory for DIR.
s3-winbind: Add support for the kernel krb5 keyring buffer.
doc: Update documentation of pam_winbind krb5 support.
idl: Add a new message for winbind domain states.
s3-winbind: Add functions for domain online/offline handling.
s3-winbind: Register handlers for domain online/offline messages.
s3-winbind: Send online/offline message of the domain to the parent.
ntdb: Make sure variables passed by value are initialized.
talloc: Add a warning to talloc_reference() documentation.
s3-rpc_server: Refactor lsasd_create_sockets().
libcli: Add tstream_npa_socketpair() function.
s3-rpc_server: Add npa_state_init() function.
s3-rpc_server: Add make_external_rpc_pipe() function.
s3-rpc_server: Add make_internal_rpc_pipe().
s3-rpc_server: Use new rpc named pipe functions.
s3-waf: Reorder rpc_server wscript_build file.
s3-waf: Seperate rpc_server and rpc_service.
s3-waf: Create a target for RPC_SOCK_HELPER.
s3-rpc_server: Make make_server_pipes_struct a shared function.
s3-rpc_server: Make named_pipe_packet_process a shared functiion.
s3-rpc_server: Add named_pipe_client_init() function.
s3-smbd_shim: Add become_authenticated_pipe_user().
s3-smbd: Do not declare change_to_root_user() twice.
s3-rpc_server: Add make_internal_rpc_pipe_socketpair().
s3-rpc_server: Pass the server event context to np_open().
s3-rpc_server: Use make_internal_rpc_pipe_socketpair().
s3-rpc_server: Remove obsolete FAKE_FILE_TYPE_NAMED_PIPE handling.
s3-rpc_server: Remove obsolete make_internal_rpc_pipe().
s3-rpc_client: Make data pointer const in trans_send().
vfs: Fix building the glusterfs module.
vfs: Fix some build warnings in glusterfs.
testparm: Reformat text and add a newline.
testparm: Add warning for socket options.
s4-lsa: Fix a user after free in dcesrv_lsa_lookup_name().
s4-lsa: Add missing null checks in dcesrv_lsa_lookup_name().
s4-lsa: Make sure we also duplicate the domain_name.
s3-vfs: Fix stream_depot vfs module on btrfs.
s4-smb_server: Fix a use after free.
s3-vfs: Fix stream_depot vfs module on btrfs.
s4-torture: Relax time checking in CHECK_NTTIME.
s4-dsdb: Fix a use after free segfault.
util: Remove 32bit macros breaking strict aliasing.
s3-libsmb: Use the right macro to set uint16_t attr.
testsuit: Fix fprintf format.
s3-utils: Fix scanf format in smbacls.
s3-utils: Fix scanf format in sharesec.
s3-libsmb: Fix scanf format in parse_ace().
examples: Fix scanf format in perf_writer_disk.
s3-vfs: Remove unused variable in vfs_glusterfs.
s3-vfs: Make glfs_set_preopened() static.
s3-libnet: Use a const char for realm.
replace: Fix developer build on BSD.
s3-lib: Add grpname to talloc_sub_specified().
s3-winbind: Pass the group name to fillup_pw_field().
s4-libcli: Add smb2_util_handle_empty().
s4-torture: Make sure the handles are not used uninitialized.
s4-torture: Make sure the handles are initialized correctly.
s4-torture: Make sure handles are correctly initialized.
s4-torture: Fix some compile warnings in spoolss.
s3-torture: Comment out dead code in spoolss test.
s4-torture: Fix out of bound array access.
s4-torture: Use talloc for asprintf.
s3-utils: Fix a memory leak in smbget.
s3-torture: Fix several memory leaks in delete_fn().
s3-torture: Make sure status is used initialized.
s3-libsmb: Fix a memory leak in get_pdc_ip().
krb5_wrap: Move function declaration outside the function.
s3-torture: Call cli_flush().
s3-lib: Fix %G substitution for domain users in smbd
Andrew Bartlett (58):
dsdb: When using an LDAP backend, force use of the password from secrets.ldb
join.py: Handle exceptions when looking for GUID in a DN
join.py: Show which database we failed to find the DN on (clarify local v remote)
ldb: Show the type of failing operation in default error message
samba-tool domain join subdomain: Set "reveal_internals:0" control so we can see the ncName
join.py: Handle more error cases with useful exceptions
dsdb: Add DSDB_SEARCH_ONE_ONLY support to dsdb_module_search*()
join.py: Restore support for joining as a subdomain
dsdb: Use dsdb_next_callback() rather than a no-op per-module callback
samba-tool domain join: Add --quite and --verbose
samba-tool domian join: Only print adminpass warning on subdomain creation
s4-rpc_server/drsuapi: Print ldb error showing why we failed to perform the access check
samba-tool domain join: Set server role correctly to "active directory domain controller"
samba-tool domain provision: Make ldap_backend_startup.sh +x and take optional arguments
auth/credentials: Add cli_credentials_{set,get}_forced_sasl_mech()
dsdb: Use credentials.get_forced_sasl_mech()
lib/ldb-samba/ldb_ildap: Also skip special base DNs
python/drs: Ensure to pass in the local invocationID during the domain join
dsdb-repl_meta_data: Check for a NULL invocationID and do not proceed
dsdb: Refuse to return an all-zero invocationID
dsdb-repl_meta_data: Do not re-delete the Deleted Objects DN during replication
dsdb-repl_meta_data: Make handling of Deleted Objects DN clearer in delete
lib/messaging: Check the server_id type correctly
dsdb: Use WERR_DS_ATT_NOT_DEF_IN_SCHEMA for failed schema lookups
Remove confusing TODO file
Remove NEWS file containing confusing information
smb.conf: Fill out the ntvfs handler smb.conf page from source4/NEWS
dsdb: Refuse to replicate an all-zero invocationID GUID in replPropertyMetaData
dbcheck: Look for and fix the all-zero invocationID in replPropertyMetaData
selftest: Add script to assist in writing out a tree undump.sh can restore
selftest: Only run referenceprovision and ldapcmp for the 4.0.0 test
selftest: Add release-4-1-0rc3 saved provision
selftst: add tests based on 4.1.0rc3 to check for zero invocationID in replPropertyMetaData
python-samba-tool fsmo: Do not give an error on a successful role transfer
dbcheck: Ensure to always increase the error_count
pydsdb: Give KeyError when we fail a schema lookup in python
pydsdb: Raise a more useful exception when dsdb_wellknown_dn fails.
dbcheck: Add back the elements that were wrongly removed from CN=Deleted Objects
dsdb: Convert the full string from UTF16 to UTF8, including embedded NULLs
dsdb: Provide a clearer error when we fail to store the sequence number in metadata.tdb
provision: Fix comment to refer to correct file (krb5.conf)
provision: Remove --username and --password options from samba-tool domain provision
join.py: Correct ctx.forestdns_zone and so remove the need for duplicate repl.replicate() call
join.py: Use ctx.forestdns_zone variable
join.py: Remove special full_ncs handling, we only need to updateRefs on an NC we replicate
join.py: Reconnect to the DC based on the DC name in dnsHostName to allow connection to IPC$
samba-tool domain join subdomain: Rework sambadns.py to allow setup of DomainDNSZone only
s3-winbindd: Remove undocumented winbindd:socket dir parameter
docs: Explain why this option should not be used
lib/param: lp_magicchar takes a const struct share_params *p so should be FN_LOCAL_PARM_CHAR
build: Move loadparm-related build rules to source3/param/wscript_build
lib/param: Do not attempt to access the s3 function for allocated and subbed string parameters
param: Skip generating hooks for local and string parameters
s3/param: Autogenerate parameters prototypes again after proto.h was frozen
param: Autogenerate s3 lp_ctx glue table
proto: Remove manually written lp_ prototypes
lib/param: Add documentation on how loadparm works
lib/param: Consolidate code to enable smb signing on the server, always enable on AD DC
Andrew Tridgell (889):
initial version
right include file path
added a README
get rid of some .svn files
added ctdb_set_address and broke out parsing
added incoming setup
stub for ctdb_call
added ignore
added event context
added a test event loop
don't talk to ourselves
example node list
merge from ab
started splitting out transport code
this file is not needed yet
- split up tcp functions into more logical parts
- setup a convenience name field for nodes
- added simple (fake) vnn system
- added in idtree for efficient reqid handling
merge parts of the changes from ab. Don't merge ctdb_test changes yet
added ctdb_connect_wait()
need the header changes too
- fixed the sort function to include the exsting data
- added a 1 node test
- added ctdb_set_flags() call
queue up packets to nodes that aren't connected yet. This avoids a
merge from ab
merged from Peter
merge IB code from peter
merge from peter
added storage of extended ltdb header information
next step towards dmaster/lmaster code
added error reply packets
added redirect handling
expanded some comments
added logic for keeping track of the lacount
added request_dmaster and reply_dmaster logic
added a 4 node test
wrap the packet queue call
added handling of partial packet reads
enforce the tcp memory alignment in packet queue
simple ctdb benchmark
merge from ab
merge from Peter
merged from peter
merge fixes from samba4
added copies of libs so can be built standalone
merge db wrap code from samba4
use ctdb_call_info, so struct ctdb_call can be used for top level call
simplified ctdb_call() interface, and made it easier to expand with more parameters later
fix a bug in new structure handling
merge status code changes from samba4 ctdb
merged from samba4 ctdb
merged ctdb messaging code from samba4
ignore config.h*
merged ib work from peter
changed ctdb_bench.c to use messages instead of calls
added a simple benchmark script
merged peters IB work
fixed incr initialisation
support hostnames for node names
added a benchmark script that launches via ssh
ignored some files
added rest of tdb (missed in earlier commit)
added --num-msgs option
merged changes from peter
merge multi-database support from ronnie
merge back some changes from Samba4
merge fetch code from ronnie, and add a simple fetch test
merge from ronnies branch
merge from ronnie
added a magic header for wireshark and packet version info
put test code in tests/ directory
fixed a bunch of memory leaks
remove talloc debug code
another memory leak
fix configure for new test location
fix a possible free after use
merge from ronnie
added daemon mode to ctdb_bench
merge tcp changes from ronnie
made all sockets handle partial IO
merge from ronnie
make some functions static, and remove an unused structure
fix the queueing for partially connected tcp sockets
- add --daemon flag to ctdb_fetch test code
forgot to add ctdb_client.c
merge from ronnie
partially completed work towards full messaging system which will work in both daemon and standalone mode. Does not compile\! committing so ronnie can continue while I'm out
merge from ronnie, plus complete the client side of inter-node messaging
fixed sending messages to ourselves in non-daemon mode
add proper support for ctdb_connect_wait in daemon mode
use the new connect_wait code in the ctdb_messaging test
added --num-clients option to ctdb_messaging test
merge from ronnie
merge from volker
use lib/replace for signal.h
use event_loop_wait instead of while(1)
merge from ronnie
merge from vl
merge from ronnie
merge from ronnie
merge store_unlock code from ronnie
private -> private_data for samba3
merge from ronnie
merge from ronnie
added --dblist option to ctdbd, to allow list of databases to be specified on the command line
- fix includes to work in both samba4 and ctdb standalone
merge CTDB_SRVID_ALL patch from Samba4
pull out common command line code for tests into tests/cmdline.c
merged from samba4
this is a demonstration of an idea for handling locks in ctdb.
fixed a fd bug (thanks volker)
merge local copy of tdb from samba4 tdb
added a tdb_chainlock_nonblock() call to tdb
added a ctdb_ltdb_lock_fetch_requeue() function
wait on the right fd ....
darn, forgot this
fixed crash bug - thanks volker
add an explanation of how to use ctdb_lockwait()
add an explanation of ctdb_ltdb_lock_fetch_requeue()
better error handling in ctdb_ltdb_lock_fetch_requeue()
partial merge from volker (some overlaps removed)
merge from ronnie
merge from ronnie
merge from ronnie
- removed the non-daemon mode from ctdb, in order to simplify the
tidyups in test code
now that both daemon and client access the database, it needs to be a real disk file
block SIGPIPE in the daemon to prevent a SIGPIPE on write to a dead socket
make sure we unlock
- send the record header from the client to the daemon when doing a
we should not lock in a normal ctdb_call(), as we want them to run concurrently
when we get a lmaster request, skip updating the header when we are also the new dmaster
start using ctdb_ltdb_lock_fetch_requeue()
stop the client looping (temporary measure)
update destination in a redirect reply
merge from volker and ronnie
make sure we notify ctdb when a node dies
fixed a missing idr remove, and check the types after idr_find()
use the common cmdline code in ctdbd
moved cmdline.c to common code
more DEBUG() calls
add debug tracing to fetch_lock
- merge volkers debug changes
bit less verbose when client exits
started adding a cleaner daemon finish method
merge fetch1 changes from ronnie
- merge from ronnie, and use wait instead of sleep in test scripts
make sure we don't double free in the async lock handler
use shutdown in more tests
simpler shutdown process. The reply is not actually needed, and
validate dmaster on a client fetch request
merged cleanup from ronnie
this fixes a timeout error spotted by volker
merged the db_dir changes from volker. Changed them slightly,
- use separate directories for the tdb files by default
avoid a deadlock the fetch_lock code. The deadlock could happen when
- make he packet allocation routines take a mem_ctx, which allows
- fully separate the client version of ctdb_call from the daemon
much simpler fetch code!
don't need these structures any more
merge from ronnie
merge from ronnie
- added a --torture option to all ctdb tools. This sets
- split out ctdb_ltdb_lock_fetch_requeue() into a simpler
fixed a bug found by volker - initialse the record on disk when initialised in memory
minor debug changes
merged fix from volker (thanks!)
- fixed a problem with packets to ourselves. The packets were being
added ctdb_status tool
- expanded status to include count of each call type
merge tdb updates from samba4
merge fixes from samba4
- prevent sending dmaster requests to ourselves
merge from samba4
update the vnn as well when getting the connection information
added a useful tool for dumping a ctdb
- when handling a record migration in the lmaster, bypass the usual
debug changes
mark authoritative records
fixed the reverse of the last bug - handle the case when the new dmaster is the lmaster
added max_redirect_count status field
popt not needed in lockwait code
fit some more windows across a screen
add version printout
merge from ronnie
added a ctdb control message, and tool
moved status to ctdb_control
merge from peter
fixed typo
validate the vnn
ignore generated nodes.txt
merge from peter
removed some bogus debug lines
added a ctdb_get_config call
got rid of the getdbpath call
null terminate a string
merge vnn_map code from ronnie
merge from ronnie
nicer testing of control data size
debug level controls
merged broadcast messages from ronnie
some debug code
merge from ronnie
always use allocated packets to avoid alignment errors
added install target
merge from ronnie
factor out the packet allocation code
added make test and make valgrindtest targets
fixed some warnings
allow ctdbd_allocate_pkt to be used in client code
merged from ronnie
report number of clients in ping
use rsync to avoid text busy on install
added status all and debug all control operations
use ctdb_get_connected_nodes for node listing
better name for this hack
much simpler redirect logic
removed unnecessary variable
added reset status control
yay! finally fixed the bug that volker, ronnie and I have been chasing
saner logfile code
don't use stderr here - rely on logging
changed the way set_call and attach are done so that you can safely
added attach command in ctdb_control
auto-determine listen address by attempting to bind to each address in the cluster in turn
added a hopcount in ctdb_call
fixed a lib/events bug found by volker
merge latest versions of lib/replace, lib/talloc, lib/tdb and lib/events into ctdb bzr tree
new files for updated events system
merged from ronnie
nicer string handling in usage
nicer command parsing in ctdb_control
added a builtin fetch function to support samba3 unlocked fetch
enabled built in popt if system doesn't have it
fixed a memory leak in the ctdb_control code
merge from ronnie
merge from ronnie
merged cleanup from ronnie
first stage of efficient non-blocking ctdb traverse
don't zero beyond packet header unnecessarily
merged from ronnie
first version of traverse is working
merge from ronnie
- changed the REQ_REGISTER PDU to be a control
nicer interface to ctdb traverse
make catdb take a dbname instead of an id
added a tdb_enable_seqnum() function
added a ctdb control for enabling the tdb seqnum
added seqnum propogation code to ctdb
merged from ronnie
- added counters for controls in ctdb_control status
- fixed a crash bug after client disconnect in ctdb_control
added a dumpmemory control, used to find memory leaks
show number of connected clients in status output
added tdb_chainlock_mark() call, which can be used to mark a chain locked without actually locking it. This will be used to guarantee forward progress in the ctdb non-blocking lockwait code
- added a EVENT_FD_AUTOCLOSE flag that allows you to tell the event system to close the fd automatically when a fd_event is freed. This prevents races which can lead to epoll missing events
use the new lib/events autoconf code
allow the events system to be chosen on the command line
- take advantage of the new EVENT_FD_AUTOCLOSE flag
merged vnn map broadcast from ronnie
merge relevant lib code from samba4
merged from ronnie
fixed a problem with the number of timed events growing without bound with the new seqnum code
merge from ronnie
merged ronnies code to delay client requests when in recovery mode
moved the vnn_map initialisation out of the cmdline code
separate the wire format and internal format for the vnn_map
fixed setvnnmap to use wire structures too
remove old s3 recovery code
setup the random number generator a bit better
merge from ronnie
better timeout handling for calls, controls and traverses
added nonblocking varients of the two lockall functions to tdb
- got rid of the complex hand marshalling in the recovery controls
- merge from ronnie
fixed debug message
added _mark calls for tdb_lockall
added lockwait child code for entering recovery mode. A child processes holds lockall locks for the entire recovery process
separate out the freeze/thaw handling from recovery
more robust freeze/thaw logic
watch for the freeze child exiting
report number of frozen/thawed nodes
show total frozen/recoving in status
- nicer message if freeze child dies
added -t option to ctdb_control
make sure we ignore requeued ctdb_call packets of older generations except for packets from the client
simplify the generation checking on incoming call packets
ensure we propogate the correct rsn for a request dmaster
the retry client code is no longer needed now that we use a freeze on recovery
the invalid dmaster is no longer needed in recovery
prioritise the dmaster in case of matching rsn
added error messages in ctdb_control replies
make sure the ctdb control socket is secure
don't allow setrecmaster while not frozen
don't allow setvnnmap while not frozen
kill the lockwait child if the pipe goes away
we must not free the fde until after we no longer need the lock child
AIX needs sin_len field for bind()
reading on the write side of a pipe isn't allowed - this caused us to run without locking in the lockwait code
added a -i switch to run ctdbd without forking
check for error on ctdb_ltdb_store
added a control to get the local vnn
fixed a fd close error on reconnect
fixed two more places where we don't correctly handle write errors on sockets
moved the recovery daemon into the main ctdbd and enable it by default
enable TCP keepalives
- merge from ronnie
merge shutdown control from ronnie
merged events changes from samba4
merged debug changes from samba4
merge from ronnie
removed the CTDB_CTRL_FLAG_NOREQUEUE flag
merged from samba4
- don't try to send controls to dead nodes
merge from samba4
merge from samba4
merge keepalive code from ronnie
- up rx_cnt on all packet types
timeout pending controls immediately when a node becomes disconnected
a better way to resend calls after recovery
merge tx_cnt code from ronnie
make sure we don't increment rx_cnt for redirected packets, or for packets that have been requeued after a lockwait
nicer date formatting
don't count packets received from before the transport told us the node was dead
removed obsolete ctdb_dump tool
merge from ronnie
show ctdb control timeout
global lock should imply the transaction lock
start ctdb frozen, and let the election sort things out. This prevents a race on startup
- startup frozen, and do an initial recovery
merge from ronnie
- get rid of ctdb_ctrl_get_config
added automatic vacuuming of empty records during recovery
fixed some memory leaks on the traverse code
fixed %d which should be %u
merge from ronnie
raise the control timeout in recovery
make ctdbd realtime if possible
merge from ronnie
added IP takeover logic for public IPs to ctdb
new files for IP takeover
paraoid check for empty db on attach
consider a node dead after 6 seconds, not 15
keep sending ARPs for 2 minutes, every 5 seconds
make sure we find out about new nodes as fast as possible
send a message to clients when an IP has been released
send the message from daemon context
moved system specific ip code to system.c
handle corrupt ctdb packets better
paranoid checks for bad packets in tcp layer. Close the socket if it gets a bad packet
show op type of badly aligned packets in tcp layer
drop any partialialy send packets when we get a socket write error
removed bogus alignment check
tweak timeouts
added function to send a raw tcp ack packet
added code to ctdb to send a tcp 'tickle' ack when we takeover an
send on the right socket!
fixed tcp data offset and checksum
remove experimental code
use a window size that is obvious in sniffs
fixed error reporting in tickle ack code
automatic cleanup of tcp tickle records
when handing over an IP to another node, also tell them of any tcp connections we were handling, so they can send tickle acks for those connections
another place where we could send a partial packet
merged packaging from jim
rename ctdb_control utility to ctdb
- renamed ctdb_control utility to ctdb
fix sense of inet_aton() call
- moved ctdbd specific options to ctdbd.c from cmdline.c
call the event script on recovery too
added an example ctdb event script
made events script executable
fixed syntax of /sbin/ip
don't need maskbits to ip addr del
clean shutdown in ctdb - release all our IPs
fixed some debug messages
fixed more warnings on 64 bit boxes
merge from jim
use /etc/services for ctdb
use autoconf for more paths
default log file to reasonable location
update packaging for new defaults
more build tweaks
- make more options configurable
- ignore blank lines at end of lists
fixed shell syntax in events script
fixed broadcast controls from the command line
fixed system() return handling
don't block SIGCHLD, or we lose return values from system() !
flush any local arp entries for the given ip on add/del
samba3 needs ctdb_private.h installed to build
auto-restart NFS if its running when we release an IP
moved onnode into ctdb from s3 examples/ctdb
support ctdb status -n all
fixed onnode symlink install
wait for local tcp services like smbd to come up before allowing ctdb to start talking to other nodes
- nice messages while waiting for tcp services to come up
don't start the transport connecting to the other nodes until after the startup event script has run
- use a CTDB_BROADCAST_ALL for the attach message so it goes to currently disconnected nodes
we need to listen at transport initialise stage to find our own node number
close sockets when we exec scripts
use our own netmask when deciding if we should takeover a IP, not the other nodes
tell newly connected nodes about any tcp tickle records that we have that they don't have
merge lib/replace from samba4
added hooks to make nfs statd behave correctly on failover
better location for statd-callout
if there is no node available to take an IP, don't consider that an error
ctdb is GPL not LGPL
merged from ronnie
added CTDB_WAIT_DIRECTORIES support
log dates/time in event startup messages
merge initial web site from ronnie
added package download
better download instructions
convert ctdbd.sh tests to use an event script
make the running of the takeover and release event scripts async, to prevent outages due to slow scripts
use a subdirectory for ctdb state files
split out events for each subsystem separately
tidy up the install somewhat
- make symlink relative in install
make the packaging much more portable - tested on SLES9 and RHEL4
don't strictly need netcat
added nfs event script
put nfs events in spec and Makefile.in
- make calling of recovered event script async
disable realtime scheduler in event scripts
another place we need to cope with the strange epoll fork semantics
- moved cmdline options that are only relevant to ctdbd into ctdbd.c
- make specification of a recovery lock file compulsory
first step towards fixing "make test" with the new daemon system
make test now works again
merge from ronnie
add an easy way to setup ctdb to start/stop samba
ctdb_test.c is gone
removed some old cruft
move config files to config/ directory
docs on how to use statd-callout
fixed a race condition in the handling of the recovery lock
do a full restart in init cron call
test commit
don't start nfs services unless the relevant directories are available
merge from ronnie
web page tidy ups
doc updates
fixed location of init.d directory to work on SLES and RHEL
more portability tweaks in the init script
merged from ronnie
make the init scripts more portable about location of system config files
handle NETWORKING var not existing
merged from ronnie
automatically bring up interfaces that we manage. This allows ctdb to work without requiring two IPs per public interface
split out the basic interface handling, and run event scripts in a deterministic order
make sure we don't have any namespace collision problems with config variables
remove some cruft thats not needed any more
- start moving tunable variables into their own structure
added tunables settable using ctdb command line tool
allow setting of variables at startup in config file
make recovery daemon values tunable
merge from ronnie
don't crash doing ctdb ip when not doing takeover
use the right IP from the passed structure in takeip/releaseip calls
ignore commented out entries in /etc/exports
explain event types
use the right IP from the passed structure in takeip/releaseip calls
remove an unused function
more unused code
set close on exec on pipe in event scripts, so long running scripts don't hold the pipe
first step in health monitoring of cluster nodes. When not healthy they will be marked disabled
clean out some more cruft
added health monitoring logic to ctdb, so a node loses its public IP address if one of the sybsystem event scripts reports a problem
merged vsftpd event script from ronnie
added 40.vsftpd to Makefile.in
fixed exit code in makerpms.sh
send the right sort of message on monitoring failure
- fixed flags display in logs
fixed error handling in event scripts
- added monitoring of rpc ports for nfs, and of Samba ports and directories
increase release number of ctdb
added timeouts in all event scripts
handle the case of all nodes being sick for one service
disable a node if testparm thinks there is a error, or warning, or an unrecognised option
ensure all nodes display disabled nodes correctly
update flags in parent daemon too
get parents idea of recmode and recmaster when deciding if we should do a takeover run
formatting fix for wider variable names
merged admin enable/disable change from ronnie
implement a scheme where nodes are banned if they continuously caused the cluster
increase rpm release number
added admin commands to ban/unban nodes
handle CTDB_CURRENT_NODE in ban commands
get all the tunables at once in recovery daemon
there are now far too many controls for the controls statistics fields to be useful
validate vnn on node flags change
use a priority time for the election data, not just the vnn
formatting fixes
choose the most connected node first
later times are a lower priority, not a higher priority
start splitting the code into separate client and server pieces
more code rearrangement
some #include cleanups
move more util code to lib/util
update configure.ac for new code layout
remove the test commit
merge from ronnie
new web page layout
web tweaks
web tweaks
added logo
crop logo
convert rest of pages to new format
balance the layout
more web tweaks
merge from ronnie
added documentation page
new logo, fixed links
doc updates
install man page
fixed manaul install dir for rpms
merge from ronnie
newer versions of ip need the mask on del
support up takeover in testing when root
ignore arp on loopback
propogate flag changes to all connected nodes
- send tcp info to all connected nodes, not just vnnmap nodes
fixed valgrind error
merge from ronnie
merge from ronnie
use gzip --rsyncable for ctdb packages
layout copyright using a literal
fixed testparm calls
more detail in recovery message
simpler handling of -n all in ctdb tool
raise the default keepalive limit
make sure we start the freeze process quickly on all nodes when we are going to do recovery - this prevents serialisation of freeze, which can take a long time
- tidied up some of the web page text
minor doc updates
make the web site pass the w3c validator
fixed rendering in IE
added onnode manual page
move all the headers into header.html
make the pages scale a bit better
on startup release all IPs, in case we have any left over from a previous run
- wait for winbind on samba start
check winbind in monitoring event too
- merged ctdb_store test from ronnie
merge from ronnie
run smbstatus every 10 minutes to scrub databases
added code to kill registered clients on a IP release
script version of install needs spaces after -m
merge from ronnie
merge from ronnie
merge from ronnie
merge from ronnie
more careful checking of lengths
- neaten up the command line for killtcp
removed unused makefile var
forgot to add this
merge from ronnie
fixed error message on bad IP/port
fixed help layout
merge from ronnie (with spelling fixes)
merge from ronnie - we have an official port number, yay!
increment rpm release number
log the generation numbers to give a hint about this bug
we do tell banned nodes to release IPs
call kill_clients when releasing all IPs, as well as for individual IPs
fixed sense of inet_aton test
merge from ronnie
update lib/replace from samba4
update lib/tdb from samba4
update lib/events from samba4 (If->if)
more merges for GPLv3 update
minor back-merge from samba4
added --nosetsched option to ctdbd
allow extra option override in /etc/sysconfig/ctdb
fixed the sense of do_setsched
fully save/restore scheduler parameters
- merge from ronnie
ensure killtcp structure is initialised
merged from ronnie
make sure we still run events when waiting for ctdb_event_script()
- log registering of tcp clients
up release number
make timed_event structure private to events_timed.c
merge from ronnie
merge from ronnie
merge changes needed for samba4
merge from ronnie
merged new event script calling code from ronnnie
removed redundent debug message
merge from volker
merge from volker
merge from ronnie
fixed segv when no public interface is set
merge from ronnie
merge from ronnie
up the release number
added a diagnostics tool for ctdb
add crontab and sysctl output
merge from ronnie
add back in --public-interface as a default
- use struct sockaddr_in more consistently instead of string addresses
added back --public-interface to startup script
fixed a pointer cast warning
get interface right
fixed location of arp_filter
changed some debug levels
- don't allow the registration of clients with IPs we don't hold
- set arp_ignore to prevent replying to arp requests for addresses on loopback
handle hung or slow ctdb daemons on shutdown
fixed return code
remove clutter from ctdb log file
new approach for killing TCP connections on IP release
remove more cruft from the logs
we don't need the is_loopback logic in ctdb any more
fixed script errors in 10.interface
force recovery if unable to tell a node to release an IP
more shell scripting fixes in 10.interface
prevent recursion in the calling of ctdb_takeover_run
ensure smbd and winbindd do die in 50.samba
nicer use of testparm
wait for ctdbd to finish cleanup before considering "service ctdb stop" to be done
- merge from ronnie
make sure all public IPs are removed at startup
fix pkill args
cope with non-standard install dirs in event scripts
merge from ronnie
increase release number
expanded ctdb_diagnostics a bit
separate out the various fs display ops
make sure we set close on exec on any possibly inherited fds
added support for persistent databases in ctdbd
merge from ronnie
merge bugfix from ronnie
avoid using connected nodes that aren't in the vnn map yet
make the persistent dbdir configurable
fixed a valgrind error, and some warnings
no longer wait at startup for services to become available, instead
run monitoring more quickly when unhealthy and at startup
fixed a fd leak on the recovery lock
merge from ronnie
upped version number
we are the culprit if we can't get the reclock
- catch ESTALE in the recovery lock by trying a read()
fixed several places where we set the recovery culprit incorrectly
make sure reconnected nodes start off as unhealthy so they don't get a public IP
add config option for disabling bans
disable optimisation for now, until we find a occasional segv
merge from ronnie
sync flags between nodes in monitor loop in recmaster
disable ipmux code until we have a configure test
improved handling of systems without libipq.h
only link to -lipq if needed
more detail on multipath config
increase release number
merge from ronnie
merge from ronnie
added some debug lines to help track down a problem
remove a incorrectly added file
merge from ronnie
increase release number
merge from ronnie
prevent a double free
fixed a valgrind uninitialised memory error due to pad bytes
another place where we need to mark connect_fde as freed
fixed a double close of a socket, leading to an EPOLL error
fixed a problem with backgrounding onnnode
merge from ronnie
update release number
added monitoring of ftp ports
merge from ronnie
added bonding info to ctdb_diagnostics
increase release number
patch from michael adam
prevent a deadly embrace between smbd and ctdbd by moving the calling
don't do the first startup event until we are out of recovery
make election handling much more scalable
make it easier to test starting large numbers of virtual nodes
need public_addresses for test suite
- merge from ronnie
increase release number
merge from ronnie
make DeterministicIPs the default
merge from ronnie
update release number and changelog
fixed segv on failed ctdb_ctrl_getnodemap
updated release info
fixed order of changelog
quick fix for timeout in recovery
make this a custom build
make this a custom build
more optimisations to recovery
add randrec to Makefile
added ctdb_randrec test tool
prevent a re-ban loop for single node clusters
prevent O(n^2) behaviour for traverse after large numbers of deletes
make sure vars are set at startup before recovery
fixed a warning
update revnumber for custom tree
expand tdb by minimum of 25% at a time
fixed a warning
added async pull, push and rsn handling functions
make some specific cases of the non-dmaster bug non-fatal
avoid write locks during delete checks in traversals
this fixes the non-dmaster bug that has plagued us for months
convert much of the recovery logic to be async and parallel across all nodes
a useful hack for checking correct behaviour of recovery
a new tunable DatabaseMaxDead that enables the tdb max dead cache logic
update version
ensure we always build the right version
added tdb_wipe_all() function
cleanup the new freelist code
fixed the bug that make "onnode N service ctdb start" hang
fixed data offset definition
fixed excludes in tar ball creation for src rpm
Rewrote the tdb transaction code to be O(N) instead of O(N^2)
convert tdb from u32 to uint32_t to match the current Samba trees
update from Samba4
merge from Samba4
this is needed with merged tdb
- added tdb_add_flags() and tdb_remove_flags()
ensure tdb log messages appear in ctdbd logs
non-persistent databases don't need sync transactions
change default tunables to cope with larger dbs
new simpler and much faster recovery code based on tdb transactions
added paranoid transaction ids
new rpm version
don't retstart statd when we don't need to
more efficient traversal in pulldb control
catch internal traversal errors
nicer onnode output
merge from ronnie
background the smbstatus -n command
show start/stop time of recovery on all nodes
updated docs from ronnie
added two new ctdb commands:
ensure the recovery daemon is not clagged up by vacuum calls
ensure the main daemon doesn't use a blocking lock on the freelist
this is not an error - it just means the record was busy
nicer outut from repack and vacuum
changed default vacuum limit
increase version number
forgot this file
needs to be in Makefile.in too
only match vacuum list if on the same database
allow remote variable expansion in onnode, so you can use wildcards that expand on the remote nodes
allow delete percentage to be specified on the command line
a compromise for freelist scanning - we now will look for other than the first fit, but get exponentially more desperate as we get deeper into the freelist
report the store rate in ctdb_randrec
add a max runtime switch to ctdb tool
tdb_freelist_size was reporting 1 more than correct size
block alarm signals during critical sections of vacuum
auto-run the vacuum and repack ops every 5 minutes by default
increase version number
exponential backoff in health monitoring for faster startup
get rid of monitor_retry as well
fixed the bug that caused tdbtorture to fail
merge from ronnie
minor fix to transaction_write_existing
fixed a memory leak in the recovery daemon
- catch a case where the client disconnects during a call
update for release
merge from ronnie
added syslog support, and use a pipe to catch logging from child processes to the ctdbd logging functions
the event scripts no longer need to show a date, as its done by the main ctdbd logging function
The recovery daemon does not need to be a realtime task
fixed two 64bit warnings
update for release
fixed handling of \r from stdout of subprocesses
cope better with large debug dumps
merge from ronnie
more efficient freelist allocation
merge from samba4
merged 60.nfs changes from ronnie
make ctdb dumpmemory work remotely, and dump the talloc
fixed egrep pattern to use more compatible expression for spaces
partial merge from ronnie
added an ignore file
useful for building with equivalent options to the spec file
merge async recovery changes from Ronnie
ignore some autogenerated test files
update download instructions for new git tree
update for release 1.0.25
removed dependence on dprintf
fixed a crash bug in the new transaction code
added debug constants to allow for better mapping to syslog levels
merge from ronnie
nicer use of structures and use isalpha()
fixed a problem with tdb growing after each recovery
don't ship the .git directory in the srpm
carefully step around the recovery area when doing a tdb_wipe_all. This prevents
- accept an optional set of tdb_flags from clients on open a database,
fixed permissions on configure.rpm
Merge branch 'master' of git://git.samba.org/sahlberg/ctdb
Merge commit 'sofs1/tridge'
fixed realloc bug
use git archive to create tarball
need to specicy tree to git archive
Merge commit 'ronnie-ctdb/master' into tridge
Fix the chicken and egg problem with ctdb/samba and a registry smb.conf
put the return in the right place
zero out the ctdb->freeze_handle when we free it
added option to start ctdb under valgrind
CTDB_NO_MEMORY_VOID() needs to return on error
fixed some incorrect CTDB_NO_MEMORY*() calls found after fixing the
fixed a warning
prevent valgrind errors where we print unitialised values on control errors
don't use mmap in tdb if --nosetsched is set. That makes valgrind
ensure pad bytes in the ltdb_header are initialised
an extraordinarily ugly patch!
fixed a case statement
Merge commit 'ronnie/master'
fixed up exit status for onnode
fixed postun script to prevent corrupting RPM database
Merge commit 'ronnie/master'
Merge commit 'ronnie/master'
Merge commit 'ronnie/master'
fixed a bug where we would look for a signal past the end of the
fixed buffering in ctdb logging code to handle multiple lines
allow for probing of directories without raising an error
run the testparm commands in 50.samba in the background, only running
- show pids during test
- cleanup persistent db at start
cleanup on SIGINT
rename the structure we use for marshalling multiple records
added a new persistent transaction test program
added new multi-record transaction commit code
added client side functions for new transaction code
we don't need ctdb_ltdb_persistent_store() any more
added marshalling helper functions
new prototypes
make sure we honor the TDB_NOSYNC flag from clients in the server
renamed the pulldb structure to a ctdb_marshall_buffer
cleanup of the old persistent db test
fixed a warning
fixed some warnings
ensure we use killtcp on non-NFS/non-CIFS ports for faster failover of
we need an additional gratuitous arp before the NFS tickles
implemented replayable transactions in ctdb to prevent deadlock
ensure we use killtcp on non-NFS/non-CIFS ports for faster failover of
we need an additional gratuitous arp before the NFS tickles
cover some corner cases where the persistent database could become
fixed a looping error bug with the new transactions code
Merge commit 'ronnie/1.0.53'
return a more detailed error code from a trans2 commit error
up release number
save writing the same data twice
imported failure handling from dbwrap_ctdb.c
added a new control CTDB_CONTROL_TRANS2_COMMIT_RETRY so we can tell
added retry handling in client
fixed send of release IP message
fixed a memory leak in the recovery daemon
Merge commit 'ronnie/master'
up release version
fixed merge
expanded ctdb_diagnostics based on recent experience
merged a bugfix for the idtree code from the Linux kernel. This
The author of the upstream code asked for this code to be GPLv2+ not GPLv3
added some more gpfs commands per-filesystem
Merge commit 'ronnie/master'
Merge commit 'ronnie/master'
fixed problem with looping ctdb recoveries
Merge commit 'ronnie/master'
Merge commit 'ronnie/master'
Merge commit 'ronnie/master'
Merge commit 'ronnie/master'
change shutdown level for ctdb to be 01
use less intrusive smbstatus call in periodic connections cleanup
more subdir html support
allow pages in subdirs
added link to michaels sambaxp papers
tdb: allow reads after prepare commit
added some more speed tests to tdbtool
tdb: fixed the intermittent failure of tdbtorture in the build farm
fixed tdbbackup to give tdb error messages (cherry picked from samba commit 08be1420ba52ef9bba90d0f811c7810841ee8568)
make tdbbackup use transactions
added basic testing of tdb_transaction_prepare_commit() in tdbtorture (cherry picked from samba commit 84547b8dba3c0cf4e20b3c50d9386081d475df6b)
tdb: detect tdb store of identical records and skip
util: added TLIST_*() macros
ctdb: move ctdb_io.c to use TLIST_*() macros
ctdb: when we fill the client packet queue we need to drop the client
ctdb: migrate to new dlinklist.h from Samba
fixed printing of high latency
tdb: use fdatasync() instead of fsync() in transactions
python: use '#!/usr/bin/env python' to cope with varying install locations
tdb: update tdb ABI to use hide_symbols=True
tdb: added TDB_NO_FSYNC env variable
Arvid Requate (2):
spoolss: accept XPS_PASS datatype used by Windows 8
torture: test printing using "XPS_PASS" datatype
Atul Kulkarni (13):
idmap_autorid: add path, and db parameters to idmap_autorid_db_init()
idmap_autorid: extract common code to separate file
idmap_autorid: move the checks from idmap_autorid_initialize to idmap_autorid_saveconfig()
idmap_autorid: remove autorid_global_config member from autorid_range_config
idmap_autorid: remove fstring keystr from autorid_range_config
idmap_autorid: factor out domain range fetching part from idmap_autorid_get_domainrange()
net: add new function net_idmap_opendb_autorid()
net: add "net idmap set config" command to store the autorid global config
net: add "net idmap get config" to read the autorid config from the database
idmap_autorid: add space between two words in a debug message
net: correct typos in net idmap delete ranges help message
doc: update the net manpage for net idmap set, get and delete
net: remove net idmap secret
Aurélien Aptel (38):
initial commit of the new tarmode test script.
test_smbclient_tarmode.pl: add proper argument parsing for configuration.
test_smbclient_tarmode.pl: improve incremental test
test_smbclient_tarmode.pl: add test for reset mode
test_smbclient_tarmode.pl: add test for "newer than" (`N` flag)
test_smbclient_tarmode.pl: refactored file related function to a File package
test_smbclient_tarmode.pl: add nested dirs test
test_smbclient_tarmode.pl: remove unused functions
test_smbclient_tarmode.pl: add first extraction test
test_smbclient_tarmode.pl: add option to choose and run a single test
test_smbclient_tarmode.pl: add tests for X and I.
test_smbclient_tarmode.pl: add extraction test for I and X.
test_smbclient_tarmode.pl: add test for creation w/ filelist
test_smbclient_tarmode.pl: add test for xF
test_smbclient_tarmode.pl: add a clean option to erase the local path
test_smbclient_tarmode.pl: add a first simple wildcard test
test_smbclient_tarmode.pl: add tests for wildcard pattern (cI, cX, cF, xF).
test_smbclient_tarmode.pl: refactor, cleanup and document in POD
test_smbclient_tarmode.pl: make script work on older Perl (now only need 5.14)
test_smbclient_tarmode.pl: disable failing tests for now
test_smbclient_tarmode.pl: samba 3.6.9 can print a empty attribute string
test_smbclient_tarmode.pl: add copyright header
test_smbclient_tarmode.pl: cosmetic changes
test_smbclient_tarmode.pl: sanitize input, use File::Temp instead of hardcoding temp dir
test_smbclient_tarmode.pl: let --test run multiple tests
test_smbclient_tarmode.pl: whitespace
test_smbclient_tarmode.pl: test interactive command
test_smbclient_tarmode.pl: add simple wildcard test
test_smbclient_tarmode.pl: add large file and long path tests
test_smbclient_tarmode.pl: test regex flag behaviour
test_smbclient_tarmode.pl: add extraction regex tests, verbose flag
test_smbclient_tarmode.pl: add test for interactive session
test_smbclient_tarmode.pl: add subunit output flag
test_smbclient_tarmode.pl: enable create with exclude tests
test_smbclient_tarmode.pl: use -n flag for specifiying hostname (was ambiguous with help)
test_smbclient_tarmode.pl: sanitize $DIR + whitespace
test_smbclient_tarmode.pl: remove all ./ prefix when dealing with remote files
test_smbclient_tarmode.pl: depend only on perl v5.10
Benjamin Franzke (10):
s4:torture/cldap: Fix a typo
provision: Fix string replacement ordering
s4:cldap_server: Move netlogon parsing into utility function
s4:dsdb/rootdse: Pass rootdse context to rootdse_add_dynamic
s4:dsdb/rootdse: Support netlogon request
s4:cldap_server: Do not handle netlogon ourself anymore
s4:dsdb: Move cldap netlogon functions into samdb/ldb_modules
libcli/cldap: Add utility to create netlogon filter
s4:torture/ldap: Add test for netlogon over tcp
s4:torture/netlogon: Test netlogon with additional attrs
Björn Baumbach (5):
CVE-2013-4476: lib-util: add file_check_permissions()
CVE-2013-4476: lib-util: split out file_save_mode() from file_save()
CVE-2013-4476: samba-tool provision: create ${private_dir}/tls with mode 0700
CVE-2013-4476: s4:libtls: Create tls private key file (key.pem) with mode 0600
CVE-2013-4476: s4:libtls: check for safe permissions of tls private key file (key.pem)
Björn Jacke (3):
tdb: Fix some typos in comments.
doc/msdfs proxy: extend example for multi target config
xattr: fix listing EAs on *BSD for non-root users
Brad Hards (1):
Spelling fixes for tdb.
Brian Martin (1):
samba_backup: fix bug, add command line parameter, improve error messages
Chandra Seetharaman (1):
make changes to ctdb event scripts to support NFS-Ganesha.
Christian Ambach (19):
Remove error messages about a non-existing /var/log/log.ctdb when running ctdb with logging to syslog
improve time jump logging
reduce vacuuming lognoise
adjust a vacuum log level
improve timing issue detections
build: Create sudoers.d dir during make install
lib/util: use proper include for struct stat
s3:utils remove orphaned code
lib/replace remove orphaned code
s3:vfs fix a compile warning
s3:pam_smbpass change includes
s3:vfs_btrfs change includes
lib/socket_wrapper fix compilation when libreplace is not around
lib/ntdb fix compilation when libreplace is not around
lib/ntdb correct includes in private header
lib/ntdb optimize includes in ntdb tests
lib/ntdb optimize includes in ntdb tools
s3:lib/asys modify included headers
s3:winbindd fix use of uninitialized variables
Christof Schmitt (10):
s3:smb2_find: Return that timestamps do not exist as directories
vfs: Fix parentheses in SMB_VFS_NEXT_DURABLE_COOKIE
s3/time_audit: Add offline and durable functions
winbind: Make centry_start static
docs: Add winbindd to destination parameter in smbcontrol manpage
s3-aio: Use correct locking context for SMB2
s3: Return correct error code from SMB2 AIO read failure
selftest: Introduce share for testing AIO
selftest: Run smb2.lock tests also against AIO share
selftest: Remove samba3.smb2.lock.*.rw-exclusive from flapping file
Daniel Liberman (1):
Fix bug 10162 - POSIX ACL mapping failing when setting DENY ACE's from Windows.
David Disseldorp (54):
web: use the new git repository url on the download page
client: handle transient connection errors
io: Make queue_io_read() safe for reentry
client: add req timeout argument to ctdb_cmdline_client
client: add timeout argument to ctdb_attach
client: flag local node in ctdb -Y status output
pmda: Initial ctdb pmda check-in
pmda: Attempt reconnects while ctdbd is unavailable
pmda: Pull ctdb statistics once per fetch
pmda: Use CTDB_PATH macro for default socket path
pmda: document in README how to add a new metric
pmda: handle struct latency_counter and add num_recoveries
pmda: Use upstream assigned PCP domain id
Build: Set the default ctdb socket path at configure time
pmda: handle new ctdb_statistics format
selftest: change to src dir for panic backtrace
param: disable print notify backchannel by default
doc: add "spoolss: architecture" parameter usage
smb2_ioctl: add support for FSCTL_SRV_COPYCHUNK_WRITE
torture: add FSCTL_SRV_COPYCHUNK_WRITE access test
test_smbclient_tarmode.pl: fix a few minor typos
test_smbclient_tarmode.pl: remove unneccesary arg defaults
vfstest: fix uninitialised variable usage in open
Revert "s3-vfs: Fix stream_depot vfs module on btrfs."
docs: remove ATM Machine terminology from smbcacls man page
spoolss: return the spoolss job ID in notifications
printing: always store sytem job-ID in queue state
printing: return WERROR from print_access_check
messaging: use local talloc ctx instead of talloc_tos
loadparm: use lp_printername ctx param instead of tos
printing: fix double space in debug statement
printing: use DEBUG instead of sys_adminlog
debug: remove unused sys_adminlog
selftest/s3: expose share with FS applicable config
selftest/s3: run smb2.ioctl against FS specific share
torture: test dir non-inherit in compress_inherit_disable
torture: attempt to set compression via SetInfo
vfs: add [GET/SET]_COMPRESSION hooks
smb2/ioctl: add support for FSCTL_[GET/SET]_COMPRESSION
vfs_btrfs: add [GET/SET]_COMPRESSION handlers
vfs_btrfs: fix copy-chunk dest unlock args
vfs_btrfs: advertise per-file compression capability
smbd: split out dos_mode debug print function
s3-smbd: support FILE_ATTRIBUTE_COMPRESSED
smbd/open: disable compression with FILE_NO_COMPRESSION
torture: split open from test_setup_create_fill
torture: test get/set compression ioctl permissions
build: check linux/fs.h for compression flags
replace: fix typo in variable name
test: add fake_snap.pl for snapshot simulation
torture: enum snapshots after FSRVP creation
torture: test duplicate shares in FSRVP shadow-copy set
torture: match Windows responses to bad shadow copy IDs
s3/rpc_server: don't unmarshall PDUs twice
Evan Kinney (1):
ctdb: Fixed use of reserved word "private" in typedefs
Garming Sam (1):
cldap: quieten error when abandon packet is sent
Gregor Beck (29):
ctdb catdb: fix escaping of '"' and '\'
add ltdbtool - a standalone ltdb tool
ltdbtool: add manpage
ltdbtool: add manpage html + roff
ltdbtool: ignore empty (deleted) records per default.
ctdbd: refuse attaching with "persistent" to a non-persistent db and v.v.
s3-net: do not use rpc_pipe_np_smb_conn()
s3:lib/netapi: do not use rpc_pipe_np_smb_conn()
s3-spoolss: do not use rpc_pipe_np_smb_conn()
s3:rpc_client: remove unused rpc_pipe_np_smb_conn()
cli_np_tstream: remove unused tstream_cli_np_get_cli_state()
s3:libsmb: pass creation or birth time in cli_qpathinfo_basic()
s3:libsmb: add function cli_qpathinfo_standard()
s3:libsmb: add function cli_qpathinfo3()
s3:libsmb: SMBC_getatr try pathinfo2 only once
s3:libsmb: SMBC_getatr do not let ino undefined on success
s3:libsmb: SMBC_getatr use pathinfo3 for second try
client: remove a write only variable
s3:libsmb: cli_qpathinfo3 use cli_qpathinfo2 for smb2
client: use cli_qpathinfo3 for allinfo
s3:libsmb: SMBC_getatr() if no method worked, try all methods again on next attempt
s3:rpc_client: fix a leaked talloc_stackframe
s3:rpcclient: fix a leaked talloc_stackframe in cmd_epmapper
s3:rpc_server: rpc_create_tcpip_sockets() may leak talloc_stackframe on failure
selftest: set valgrind options
selftest: use MALLOC_CHECK_=3 to give a diagnostic on failure
selftest: pass -l logdir to daemon processes.
s3: use directory_create_or_exist_strict() to create corepath
tevent: add tevent_queue_wait_send/recv()
Günther Deschner (110):
tdb: fix c++ build warning.
lib/tdb: fix c++ build warning in tdb_header_hash().
docs: point out side-effects of global "valid users" setting.
s3-rpc_server: fix typo in DEBUG statement.
gensec: move schannel module to toplevel.
gensec: remove duplicate gensec_security_by_authtype() call.
gensec: check for NULL gensec_security in gensec_security_by_auth_type().
s3-auth: also load schannel module from auth_generic_client_prepare().
s3-rpc_cli: allow to pass down a netlogon CredentialState struct to gensec.
s3-auth: register schannel gensec module in auth_generic_prepare() as well.
s3-rpc_cli: use gensec for schannel bind.
s3-rpc_srv: use gensec for schannel bind.
s3-rpc: use gensec for schannel footer processing.
s3-rpc_cli: remove unused schannel calls from dcerpc_helpers.c
s3-rpc_cli: remove unused schannel calls from cli_pipe.c
s3-rpc_srv: remove unused schannel calls from srv_pipe.c
librpc/ndr: call ndr_table_list() from all ndr_X functions.
librpc/ndr: make sure ndr_table_list() always calls ndr_init_table() first.
s3-rpc: use table->name directly in DEBUG contexts.
s3-rpc: use ndr_interface_name() instead of get_pipe_name_from_syntax() in DEBUG.
librpc: add dcerpc_default_transport_endpoint() function.
s3-rpc: use dcerpc_default_transport_endpoint function.
s3-rpc: remove unused source3/librpc/rpc/rpc_common.c
lib/util: remove unused (and not even compiled) lib/util/capability.c.
libndr: Avoid ommitting display of unset bitmap flags.
s3-libnetjoin: Fix Bug #10262: use upper-case realm when composing default upn.
s3-winbindd: Fix #10264, cache_traverse_validate_fn failure for NDR cache entries.
docs: remove duplicate word "the" in idmap_ad manpage.
docs: remove duplicate word "name" in nmblookup manpage.
docs: remove duplicate word "name" in nmblookup4 manpage.
docs: remove duplicate arguments listing in regdiff manpage.
docs: remove duplicate word "the" in winbindd manpage.
docs: remove duplicate mention of "smbtorture" in smbtorture manpage.
docs: remove duplicate mention of "ntdbtool" in ntdbtool manpage.
docs: remove duplicate mention of "smbta-util" in smbta-util manpage.
docs: remove duplicate word "trust" from net manpage.
docs: remove duplicate word "the" from net manpage.
docs: mention more options in winbindd manpage.
docs: mention --no-process-group in winbindd manpage.
docs: mention --dc-info in wbinfo manpage.
docs: mention --krb5ccname option in wbinfo manpage.
docs: mention logoff options in wbinfo manpage.
docs: mention --lookup-sids in wbinfo manpage.
docs: mention --pam-logon in wbinfo manpage.
docs: mention --remove-gid-mapping/--remove-uid-mapping in wbinfo manpage.
docs: mention --set-gid-mapping/--set-uid-mapping in wbinfo manpage.
docs: mention --sequence in wbinfo manpage.
docs: mention --sids-to-unix-ids in wbinfo manpage.
docs: remove unsupported options from nmbd manpage.
docs: mention --daemon in nmbd manpage.
docs: mention --foreground in nmbd manpage.
docs: mention --hosts in nmbd manpage.
docs: mention --interactive in nmbd manpage.
docs: mention --log-stdout in nmbd manpage.
docs: mention --no-process-group in nmbd manpage.
docs: mention --port in nmbd manpage.
docs: remove unsupported options from smbd manpage.
docs: mention many more options in smbd options.
docs: mention --numeric in smbstatus manpage.
docs: mention -R|--profile-rates in smbstatus manpage.
docs: mention -S|--setsddl in sharesec manpage.
docs: mention -V|--viewsddl in sharesec manpage.
docs: mention -p in dbwrap-tool manpage.
docs: bring samba entity popt.common.credentials in line with popt_common_credentials.
docs: remove now duplicate mention for 4 credential options in samba-regedit manpage.
docs: add missing &popt.common.samba entity to smbcontrol manpage.
docs: add missing &popt.common.connection entity to smbcacls manpage.
docs: remove more duplicate options from samba-regedit manpage.
docs: add new popt.autohelp entity.
docs: mention --change-sid|--new-sid in profiles manpage.
docs: use popt.samba.common entity in profiles manpage.
docs: use popt.autohelp in smbtree manpage.
docs: mention --update and --encrypt in smbget manpage.
docs: mention more long option names in smbcquotas manpage.
docs: mention -B|--browse to smbclient manpage.
docs: better document -e|--encrypt option globally.
docs: use popt.autohelp and remove duplicate -e option from smbclient manpage.
docs: remove unsupported -h option from smbcacls manpage.
docs: use popt.autohelp entity in smbcacls manpage.
docs: remove duplicate -e option from smbcacls manpage.
docs: mention --query-security-info|--set-security-info in smbcacls manpage.
docs: mention --sddl and --domain-sid in smbcacls manpage.
docs: remove unsupported -h option and use popt.autohelp entity in rpcclient manpage.
docs: document all long option names in nmblookup manpage.
docs: use popt.autohelp entity in dbwrap-tools manpage.
docs: fix testparm manpage.
docs: use &popt.autohelp entity in pdbedit manpage.
docs: fix smbcontrol manpage.
docs: fix ntlm_auth manpage.
docs: use popt.autohelp entity in nmbd manpage.
docs: use popt.autohelp entity in winbindd manpage.
docs: use popt.autohelp entity in smbd manpage.
docs: use popt.autohelp entity in samba.8 manpage.
docs: mention more options in net manpage.
docs: add net rpc vampire specific options in net manpage.
docs: add net idmap specific options in net manpage.
docs: add net rpc share migrate specific options in net manpage.
docs: add net groupmap set specific options in net manpage.
docs: add net rpc registry check specific options in net manpage.
docs: add net registry import specific options in net manpage.
docs: document remaining undocumented options in net manpage.
docs: remove duplicate "a" from vfs_cacheprime manpage.
docs: remove duplicate "the" from smb.conf manpage.
docs: remove duplicate "to" from smb.conf manpage.
docs: remove duplicate "not" from smb.conf manpage.
docs: remove duplicate "or" from smb.conf manpage.
docs: remove duplicate "on" from smb.conf manpage.
docs: remove duplicate "must" from smb.conf manpage.
docs: remove duplicate "line" from smb.conf manpage.
docs: remove duplicate "used" from smb.conf manpage.
Hans Leidekker (3):
Add NetWkstaGetInfo.
svcctl: Fix IDL for svcctl_OpenServiceA().
netapi: Add support for info level 502 in NetShareAdd.
Harald Klatte (1):
AIX bind wants the correct addrsize
Holger Hetterich (1):
Added a simple tdb integrity check to tdbtool. The command "check" runs traverse on the currently open tdb, and returns the number of entries if the integrity check is successful. (cherry picked from samba commit 42366bcbbdd42bb9d5821dfcc9dbe71a1eafa330)
Howard Chu (16):
Fix OpenLDAP partition configs
Cleanup map return codes
Add an OpenLDAP-specific extended_dn_in module
Give slapd a second to startup
Prepare for SASL/EXTERNAL support
Add SASL/EXTERNAL gensec module
Use SASL/EXTERNAL over ldapi://
OpenLDAP provisioning tweaks
Fix SEGV from improperly formed SUBSTRING/PRESENCE filter
s4:torture:ldap: Fix misleading output
Cleanup start/stop code
Return a couple more attrs by default
Add LDB_MAP_RENDROP option
Drop paged-search from OpenLDAP stack
Fix entryCSN format
Fix DN RDN case in partition names
Jan Brummer (1):
s3-winbindd: Fix DEBUG statement in winbind_msg_offline().
Jeff Layton (1):
asn1: fix use-after-free in asn1_write
Jelmer Vernooij (17):
tdb: Add simple reimplementation of tdbdump in Python as an example of the tdb Python bindings. (This used to be commit 47d797f7885b1e7bcff724496ecb1990e8440eea) (cherry picked from samba commit 6bdd1425b75c8931965f0e5627f5a63dc6820a7c)
Implement missing functions in pytdb. (cherry picked from samba commit 2da551bbcc6cab296769c193b0b82aaa6256cece)
Make sure to not close tdb database more than once. (cherry picked from samba commit 6fe6983e4c960abc69d5fa80cbef534ae515209a)
subunit: Support formatting compatible with upstream subunit, for consistency.
pytdb: Make filename argument optional.
pytdb: Include Python.h first to prevent warning.
pytdb: Add __version__ attribute.
Release ntdb 1.0.
Add a basic guide on pytalloc.
Remove no longer used asn1_deps.pl.
Remove no longer used et_deps.pl.
Use heim_octet_string typedef.
Cope with first element in hdb_method having a different name in different heimdal versions.
tdb tests: Remove custom code for "tdb2", which has been split out into ntdb.
pyntdb: Don't allow access after a database is closed.
pyntdb: Don't segfault when passing in None as filename (for memory db)
pyntdb: Add tests for Python API.
Jeremy Allison (28):
Add define guards around otherwise unused variable. Jeremy. (cherry picked from samba commit 4fc9f9c3f943cdeb27e37f0ee068cdd0da7cb00c)
Remove unecessary msync. Jeremy. (cherry picked from samba commit 0bae1ef3de8fda5e1e2d641b14a408e627396912) (This used to be commit db2acaf46fdc38078b6b28b68909e289f6c9e0ec) (cherry picked from samba commit a1cf3ad5d655cf5a847df6d6299b3af1a30ec1e3)
Fix is_legal_name() to not emit character conversion error messages.
s3: libsmb : The short name length is only a one byte field.
s3: libsmb SMB2 wrapper layer. cli_smb2_get_ea_list_path() failed to close file on exit.
s3: libsmb : Bug 10150 - Not all OEM servers support the ALTNAME info level.
s3: libsmb - 10150 - Not all OEM servers support the ALTNAME info level.
Remove dead code. Now we have no SWAT we don't use the invalid_services array or associated counter.
Fix bug #10187 - Missing talloc_free can leak stackframe in error path.
Fix bug 10196 - RW Deny for a specific user is not overriding RW Allow for a group.
Fix bug 10196 - RW Deny for a specific user is not overriding RW Allow for a group.
Fix comment showing how to print an ACL to allow debug.
smbd: Invalidate the session correctly.
Fix bug #10229 - No access check verification on stream files.
Add regression test for bug #10229 - No access check verification on stream files.
s3-smbd: smbclient shows no error if deleting a directory with del failed
s3-lib: smbclient shows no error if deleting a directory with del failed
s3-client: smbclient shows no error if deleting a directory with del failed
Rename the profile enums with a SAMBA_ prefix to avoid conflict with system files.
smbd - allow updates on directory write times on open handles.
smbtorture: New torture test for bug #9870.
ldb: bad if test in ldb_comparison_fold()
CVE-2013-4408:s3:Ensure we always check call_id when validating an RPC reply.
CVE-2013-4408:s3:Ensure LookupSids replies arrays are range checked.
CVE-2013-4408:s3:Ensure LookupNames replies arrays are range checked.
CVE-2013-4408:s3:Ensure LookupRids() replies arrays are range checked.
smbd: change flag name from UCF_CREATING_FILE to UCF_PREP_CREATEFILE
smbd: Always use UCF_PREP_CREATEFILE for filename_convert calls to resolve a path for open.
Jeroen Dekkers (1):
ldb: Do not build libldb-cmdline when using system ldb.
Karolin Seeger (2):
docs: Fix typos.
docs: Fix typos in vfs_shadow_copy2.8.xml.
Kirill Smelkov (14):
tdb: kill last bits from swig
tdb: fix typo in python's Tdb.get() docstring
tdb: reset tdb->fd to -1 in tdb_close()
tdb: add tests for double .close() in pytdb
tdb: update README a bit
pytdb: Add support for tdb_add_flags() & tdb_remove_flags()
pytdb: Fix repr segfault for internal db
pytdb: Update open flags to match those for tdb_open() in tdb.h
pytdb: Add support for tdb_enable_seqnum, tdb_get_seqnum and tdb_increment_seqnum_nonblock
pytdb: Add support for tdb_transaction_prepare_commit()
pytdb: Add support for tdb_freelist_size()
pytdb: Add TDB_INCOMPATIBLE_HASH open flag
pytdb: Add support for tdb_repack()
pytdb: Check errors after PyObject_New() calls
Korobkin (1):
Raise the level of a debug.
Luk Claes (6):
doc/ctdb.1.xml: Fix typo
doc: regenerate ctdb docs
doc/ctdb.1.xml: update listvars documentation
s3/libsmb: Use smbXcli_conn_use_unicode instead of smb1 specific test
libcli/smb: Introduce smbXcli_conn_dfs_supported
s3/libsmb: Use smbXcli_conn_dfs_supported instead of test on CAP_DFS
Martin Schwenke (1147):
Complete rewrite of tools/onnode. Remove old tools/onnode.ssh,
Update Makefile.in for new version of onnode.
When in verbose mode with -p, each line is prefixed with the node
Merge commit 'origin/master' into martins
Complete rewrite of tools/onnode. Remove old tools/onnode.ssh,
Update Makefile.in for new version of onnode.
When in verbose mode with -p, each line is prefixed with the node
Yip yip yip!
Signed-off-by: Martin Schwenke <martin at meltin.net>
Signed-off-by: Martin Schwenke <martin at meltin.net>
Merge commit 'origin/master' into martins
Signed-off-by: Martin Schwenke <martin at meltin.net>
Signed-off-by: Martin Schwenke <martin at meltin.net>
Signed-off-by: Martin Schwenke <martin at meltin.net>
Signed-off-by: Martin Schwenke <martin at meltin.net>
Signed-off-by: Martin Schwenke <martin at meltin.net>
Signed-off-by: Martin Schwenke <martin at meltin.net>
Merge commit 'origin/master' into martins
Minor documentation fixes.
Changes to onnode. Add "healthy" and "connected" as possible
Minor documentation fixes.
Merge commit 'origin/master' into for-ronnie
Changes to onnode. Add "healthy" and "connected" as possible
onnode changes. "ok" is an alias for "healthy", "con" is an alias for
Document the new descriptive node specifications.
Merge commit 'origin/master' into martins
Merge commit 'origin/master' into for-ronnie
onnode changes. "ok" is an alias for "healthy", "con" is an alias for
Document the new descriptive node specifications.
Merge commit 'origin/master' into martins
Merge commit 'origin/master' into martins
Merge branch 'master' into martins
Add some simple tests that can be run from within the tree.
Merge commit 'origin/master' into martins
Move tests/*.c to tests/src/*.c and adjust Makefile.in accordingly.
Incorporate temporary patch from Ronnie that adds --nopublicipcheck
New test 09_ctdb_ping.sh. Add documentation and command-line
4 new tests. Marked more ctdbd.sh tests as done - will remove this
4 new tests. Hacked function node_has_status to support
$PATH only inludes $CTDB_DIR/bin if we're using local sockets. Rename
ctdb_test_init now contains a trap to force ctdb_test_exit to be run
Merge commit 'origin/master' into martins
New test for getmonmode. Overload node_has_status some more to
When running with local daemons, provided there is more than 2 of
Merge commit 'origin/master' into martins
Merge commit 'origin/master' into martins
Merge commit 'origin/master' into martins
Added use of $ctdb_test_exit_hook to function ctdb_test_exit. Removed
Merge commit 'origin/master' into martins
Merge commit 'origin/master' into martins
Merge commit 'origin/master' into martins
With local daemons the sockets are now numbered starting from 0. Fix
Add message about restart to 18_ctdb_freeze.sh.
Merge commit 'origin/master' into martins
Rename $CTDB_NUM_NODES to $CTDB_TEST_NUM_DAEMONS and only set it if
Add a recovery to ctdb_test_exit to improve test stability.
3 new tests. 24_ctdb_getdbmap.sh is only 1/2 implemented but does
Merge commit 'origin/master' into martins
Finish 24_ctdb_getdbmap.sh. New test 25_dumpmemory.sh.
New test 26_ctdb_config_check_error_on_unreachable_ctdb.sh.
Merge commit 'origin/master' into martins
ctdb_test_env now sets $CTDB_TIMEOUT. Fixed
Bug fixes for ctdb_bench from Ronnie.
Remove bench.sh test and replace with new test 51_ctdb_bench.sh.
Remove old ctdbd.sh test script. Remove unneeded nodes.txt and
Delete some unstructured tests ({fetch,peristent,transaction}.sh) and
Merge commit 'origin/master' into martins
Add tests/README. ctdb_test_env and, therefore, run_tests can now be
Test binaries now go in tests/bin and ctdb_test_env now adds this
For now, make tests/run_tests.sh runs the new test suite. Add
Use $CTDB_TEST_WRAPPER in 51_ctdb_bench.sh.
Use $CTDB_TEST_WRAPPER in other tests that need it.
Remove the sorts from 06_ctdb_getpid.sh - the PIDs should be listed in
Git should ignore the test_trigger event script.
Merge commit 'origin/master' into martins
23_ctdb_moveip.sh sanity checks the list of IPs/nodes instead of
Make message in 62_ctdb_persistent_unsafe.sh more informative.
41.httpd event script workaround for RHEL5-ism.
Use ctdb_fetch_lock rather than ctdb_call.
New option "-o <prefix>" saves stdout from each node to file <prefix>.<ip>.
New lvs/lvsmaster and natgw/natgwlist nodespecs for onnode.
Updated onnode docs to reflect recent changes.
Fix lvsmaster and natgwlist nodespecs.
Bug fixes for tests: simple/12_ctdb_getdebug.sh and scripts/test_wrap.
Avoid floating point divide by 0 in ctdb_fetch.c's bench_fetch().
In 51_ctdb_bench.sh now allows a 2% difference between positive and
Initscript fixes, mostly for "stop" action.
Fix minor problem in previous initscript commit.
Initscript cleanups.
Merge commit 'origin/master'
Merge branch 'init_rewrite'
Make 51_ctdb_bench.sh more tolerant.
Increase threshold in 51_ctdb_bench from 2% to 5%.
New tests for NFS and CIFS tickles.
Merge branch 'new_tests'
Merge commit 'origin/master'
Increase threshold in 51_ctdb_bench from 2% to 5%.
New tests for NFS and CIFS tickles.
Clean up handling the of CTDB restarts in testcases.
Fix minor onnode bugs relating to local daemons.
Fix minor onnode bugs relating to local daemons.
Clean up handling the of CTDB restarts in testcases.
Initscript fixes, mostly for "stop" action.
Fix minor problem in previous initscript commit.
Separate test cleanup code in output and clean up ctdb restart code.
Fix the run_tests script so that the number of columns is never 0.
Add an extra ctdb recovery to test function restart_ctdb().
Updates to TCP tickle tests and supporting functions.
New tests for different aspects of failover.
When testing make the time taken for some operations more obvious.
Make ctdbd restarts in tests more reliable.
Test suite: better debug info when the cluster is unexpectedly unhealthy.
Separate test cleanup code in output and clean up ctdb restart code.
Fix the run_tests script so that the number of columns is never 0.
Add an extra ctdb recovery to test function restart_ctdb().
Updates to TCP tickle tests and supporting functions.
New tests for different aspects of failover.
When testing make the time taken for some operations more obvious.
Make ctdbd restarts in tests more reliable.
Test suite: better debug info when the cluster is unexpectedly unhealthy.
Test suite: new tests and code factoring.
Merge commit 'origin/master' into ronnie_merge
Merge branch 'ronnie_merge'
Test suite: Fix debug code for unexpectedly unhealthy cluster.
onnode: update tests for healthy and connected to cope with new stopped bit.
Merge commit 'origin/master'
Test suite: Fixes for node state parsing plus new stop/continue tests.
Test suite: fix the test suite's generic event script.
Test suite: fix test file permissions in complex/44_failover_nfs_oneway.sh.
Test suite: Turn off strict host key checking in the SSH failover test.
Test suite: Ask CTDB about CIFS tickles registered for the actual test node.
Test suite: complex/31_nfs_tickle.sh should use NFS_TICKLE_SHARED_DIRECTORY.
Test suite: Better diagnostics for recent change to complex/31_nfs_tickle.sh.
Test suite: Retrieval NFS_TICKLE_SHARED_DIRECTORY more defensively.
Merge commit 'origin/master'
Merge commit 'origin/master'
Test suite: ctdb_persistent.c needs to use transactions.
Merge commit 'origin/master'
Test suite: Fix debug code for unexpectedly unhealthy cluster.
Merge commit 'origin/master'
Test suite: fix minor typo in complex/32_cifs_tickle.sh
Merge commit 'origin/master'
onnode: add "any" nodespec to select any node with running CTDB.
Document onnode "onnode any".
Merge commit 'origin/master'
Test suite: Rework the cluster (re)start code.
Test suite: wait_until_node_has_status() now uses "onnode any".
Test suite: Update "complex" tests for wait_until_node_has_status() change.
Test suite: Print debug info on node status timeouts.
Merge commit 'origin/master'
Merge commit 'origin/master'
40.vsftpd monitor event only fails after 2 failures to connect to port 21.
Minor fixes to 01.reclock eventscript.
Test suite: The ctdb ping test should allow time to go backwards.
Document CTDB_NODES_FILE environment variable used by onnode.
Merge commit 'origin/master'
40.vsftpd: reset the fail counter in the "recovered" event.
Clean up ctdb_check_directories* eventscript functions.
New onnode options: -f to specify nodes file, -n to allow use of hostnames.
Merge commit 'origin/master' into onnode_options
initscript: when stopping on Red Hat use the success/failure functions.
Merge commit 'origin/master'
Merge branch 'onnode_options'
Merge commit 'origin/master'
Test suite: add -x option to ctdb_init() function.
Test suite: Fix bug in node_has_status().
Test suite: Update 99_ctdb_uninstall_eventscript.sh to use ctdb_init().
Test suite: New tests for validating SKIP_SHARE_CHECK options.
Merge commit 'origin/master'
Test suite: A timeout of MonitorInterval seconds sometimes isn't enough.
Test suite: Fix the timeouts on the skip share check tests.
Test suite: Remove the disable/enable monitor tests - they are useless.
Merge commit 'origin/master'
Document onnode -n and -f options.
Merge commit 'origin/master'
Test suite: Regression fix - wait_until should not run command in sub-shell.
Merge commit 'origin/master'
Test suite: Fix the NFS and CIFS tickle tests.
Eventscripts: Untested factorisations and introduction of status event.
Test suite: Make the CIFS tickle test wait until it sees the required tickle.
More untested eventscript factorisation.
Now vaguely tested initscript updates.
More eventscript cleanups. Initial smoke testing seems OK.
Merge commit 'origin/status-test' into status-test
More eventscript cleanups. Initial smoke testing seems OK.
Event scripts: Respect CTDB_MANAGES_NFS and add function log_status_cat.
Event scripts: use $script_name rather than $service name for status.
Merge commit 'martins-svart/status-test-2' into status-test
Add flag to ctdb_event_script_callback indicating when called by client.
Merge commit 'martins-svart/status-test-2' into status-test
Event script infrastructure: add reload event to check_options().
Merge commit 'martins-svart/status-test-2' into status-test
Event scripts: functions file now intercepts status and setstatus.
Eventscript argument cleanups and introduction of ctdb_standard_event_handler.
Eventscripts: Remove executable bit accidently set on some scripts.
Eventscripts: Fix syntax error in 00.ctdb.
Merge branch 'status-test-2'
Test suite: allow settign of timeout triggers for all events not just monitor.
Test suite: Add an optimisation in the getvar test.
Merge commit 'origin/master'
Merge commit 'origin/master'
Revert "events/50.samba: only use wbinfo --ping-dc if available"
Revert "Use wbinfo --ping-dc isntead of wbingo -p sicne this is a more reliable way to determine if winbindd is in a useful state."
New version 1.0.112.
onnode - respect $CTDB_BASE rather than hard-coding /etc/ctdb.
onnode: update algorithm for finding nodes file.
onnode - respect $CTDB_BASE rather than hard-coding /etc/ctdb.
onnode: update algorithm for finding nodes file.
initscript: handle spaces in option values inserted into $CTDB_OPTIONS.
initscript: handle spaces in option values inserted into $CTDB_OPTIONS.
Merge commit 'origin/master'
initscript: Remove bash-ism.
eventscript: Use of $NFS_TICKLE_SHARED_DIRECTORY must be after loadconfig.
eventscripts: stop loadconfig function from loading ctdb config file twice.
Merge branch 'master' of git://git.samba.org/sahlberg/ctdb
onnode documentation - update documentation to reflect recent onnode changes.
Merge commit 'origin/master'
Test suite: Make "ctdb ip" test backward compatible with older ctdb versions.
Test suite: Make "ctdb ip" test backward compatible with older ctdb versions.
Merge commit 'origin/master'
Merge branch 'master' of git://git.samba.org/sahlberg/ctdb
Fix a thinko in 2ea0a9f1a93781a0d036feb9fcc0d120b182922f.
Test suite: handle change to disconnected node error message.
Test suite: handle extra lines in statistics output.
Optimise 61.nfstickle to write the tickles more efficiently.
Testing: Add Python IP allocation simulation.
Test suite: handle change to disconnected node error message.
Test suite: handle extra lines in statistics output.
Optimise 61.nfstickle to write the tickles more efficiently.
Testing: Add Python IP allocation simulation.
Merge branch 'master' of git://git.samba.org/sahlberg/ctdb
Testing: Add imbalance information to IP allocation simulation.
Testing: In IP allocation simulation count total number of events.
Testing: IP allocation simulation prints final imbalance in statistics.
Testing: IP allocation simulation - save some warnings for verbose mode.
Testing: IP allocation simulation - add command line option for random seed.
Testing: IP allocation simulation - update copyright message.
Testing: IP allocation simulation - Tweak options handling and Cluster.diff().
Testing: IP allocation simulation - fix nondeterminism in do_something_random().
Testing: IP allocation simulation - Update README.
Testing: IP allocation simulation - update options processing in examples.
Testing: IP allocation simulation - add general node group example.
Testing: IP allocation simulation - rename an example to node_group_simple.py.
Testing: IP allocation simulation - rename an example to node_group_extra.py.
Testing: IP allocation simulation - make usage/failure more obvious.
Testing: IP allocation simulation - improve help for options.
Testing: IP allocation simulation - print maximum number of unhealthy nodes.
Testing: IP allocation simulation - clean up usage message.
Testing: IP allocation simulation - add option to change odds of a failure.
Test suite - try to make addip test more reliable and add some debugging.
Merge remote branch 'martins/master'
Test suite - fix addip test.
Test suite: remove thaw/freeze tests.
Test suite - make the ctdb_fetch test cope with "Reqid wrap!" messages.
initscript: wait until we can ping ctdbd before setting tunables.
Test suite: weaken ctdb continue/enable tests for non-deterministic IPs.
Test suite: Fix typo in continue test.
Test suite: remove unnecessary verbosity from enable/continue tests.
Add some command-line options to ctdb_diagnostics.
Test suite: make addip test use $CTDB rather than ctdb in debug code.
Test suite: improve wait_until_node_has_status()
Test suite: use $CTDB rather than ctdb everywhere in ctdb_test_functions.sh.
Test suite: strengthen function _cluster_is_healthy().
Test suite: print date/time at test completion.
Test suite: Add more timestamping of debugging information.
Test suite: loosen the getmonmode test.
Move NAT gateway firewall rules to recovered|updatenatgw events.
Merge branch 'master' of git://git.samba.org/sahlberg/ctdb
Merge branch 'master' of git://git.samba.org/sahlberg/ctdb
Test suite: in the test eventscript, run "ctdb" not "$CTDB".
NFS tickles: use addtickle/deltickle instead of shared tickle directory.
Test suite: NFS tickle test uses gettickles if events.d/61.nfstickle missing.
Test suite: Fix typos in NFS tickle test.
Test suite: Tweak NFS tickle test.
Test suite: Fix NFS tickle test.
Test suite: Make NFS tickle test more flexible.
Test suite: make statistics test cope with changes to statistics output.
Test suite: match changed output for ctdb ping to disconnected node.
Test suite: fix typo in ctdb ping test grep pattern.
60.nfs only fails or warns after 10 consecutive nfsd/statd failures.
Make a time comparison in 60.nfs eventscript more readable.
Eventscripts: make loadconfig() function hookable by the test suite.
50.samba eventscript should stop/start services when they become (un)managed.
Eventscript functions - catch failures in ctdb_service_start().
60.nfs eventscript should do nothing if NFS isn't managed by CTDB.
Eventscripts: work around NFS restart failure under load.
Eventscripts: print a message when reconfiguring a service.
Eventscripts: only autostart during a monitor event.
Eventscripts: use "startstop_nfs restart" to reconfigure NFS.
Eventscripts: lower the fail/restart limits for nfsd.
onnode - Fix long standing bug in onnode healthy/ok/connected/con.
onnode: Be defensive when listing IPs of nodes with designated status.
onnode: Exit with error for unknown command-line flags.
onnode: Future-proof get_nodes_with_status().
onnode: Remove an unnecessary comment.
onnode: fix get_nodes_with_status()
onnode: fix natgwlist nodespec
IP allocation - add LCP2 algorithm.
Tests: Initial test code for LCP2 IP allocation algorithm.
IP allocation simulation - add debug output using -vv.
IP reallocation simulation - remove --hack option.
IP allocation simulation - remove unused function find_least_loaded_node().
IP allocation simulation - options.exit is boolean, so don't compare with 0.
IP allocation simulation - add LCP2 algorithm.
IP allocation simulation - add -H/-S options for hard/soft imbalance limit.
IP allocation simulation - add analysis of IP groups.
IP allocation simulation - add LCP2 imbalance metric to node state output.
IP allocation simulation - add -A/--aggressive option.
IP allocation simulation - add mean imbalance statistics.
IP allocation simulation - fix documentation for diff() function.
IP allocation simulation - tighten up termination condition for -x.
IP allocation simulation - add examples.
IP allocation simulation - make stats label for LCP2 imbalance more meaningful.
IP allocation simulation - make stats label for LCP2 imbalance more meaningful.
IP allocation simulation - Pad IPv4 addresses in LCP2 algorithm.
Eventscripts - 10.interfaces should not check orphaned interfaces.
ctdb natgwlist should return non-zero when there is no natgw.
Test suite: add a -d option to the run_tests script.
Tests: change output format of run_tests script and add -q option
Tests: add initial onnode tests
Tests: onnode tests changed to use a simple define_test() function.
Tests: run_tests script no longer prints filename in summary descriptions.
Tests: eventscripts and onnode tests use stubs/ subdirectory instead of bin/.
Test suite: add time logging.
Test suite: make time logging only happen on a real cluster, not local daemons.
Test suite: CTDB_NFS_SKIP_SHARE_CHECK test now uses _loadconfig().
Test suite: CTDB_SAMBA_SKIP_SHARE_CHECK test now uses _loadconfig().
Test suite: make time log use seconds since epoch.
Test suite: add automated checking of time logs.
Test suite: add more debug to time jump post mortem.
Test suite: Add debug for cluster (un)healthy flip-flop after restart.
Test suite: Print debug info from cluster nodes when time jumps occur.
Test suite: when the cluster flip-flops (un)healthy, using "ctdb status -Y".
Set $CTDB_VARDIR in the functions file.
Eventscript functions: add $CTDB_ETCDIR and hook service() functions.
Make Emacs recognise that the eventscript functions file is a shell script.
Eventscripts: iptables() should put lock in $CTDB_VARDIR.
Eventscripts: remove ctdb_wait_command() and ctdb_wait_tcp_ports() functions.
Eventscripts: new functions set_proc() and get_proc().
Eventscripts: remove unnecessary absolute paths from external commands.
Eventscripts: use set_proc() in startstop_nfs().
Eventscripts: update 10.interface to use set_proc() and get_proc().
Eventscripts: update 60.nfs service() start to use set_proc().
Eventscripts - Rework the use of get_proc() for the bonding checks.
Eventscripts - remove some more absolute paths to commands.
Eventscript functions - use $CTDB_VARDIR instead of local $ctdb_spool_dir.
Merge remote-tracking branch 'origin/master' into eventscripts_relative
Tests: initial eventscript unit tests.
Git should ignore tests/eventscripts/var.x
Tests: Oops! Add bin directory for eventscript tests.
Tests: tweak some samba tests to cope with debug from ctdb_check_tcp_ports().
Tests: eventscripts and onnode tests use stubs/ subdirectory instead of bin/.
Tests: update tests to work with previous commit.
Eventscripts: source a file specified by $CTDB_RC_LOCAL in functions file.
Tests - stub ip program should assume interface name if "dev" not specified.
Tests - implement "ctdb -Y ip -v" in stub for eventscript testing.
Eventscripts - Remove local variable usage in 10.interfaces.
Scripts: remove absolute paths from interface_modify.sh.
Scripts: remove absolute paths from interface_modify.sh.
Tests - Tweak 10.interfaces 802.ad bonding test to work with current code.
Tests - Disable the Samba and NFS eventscript tests.
Test suite: Try much harder to get a healthy cluster when it is restarted.
Test suite: remove getmonmode test.
Test suite: Strip architecture suffix from CTDB RPM package version.
Test suite: Fix consistency in 09_ctdb_ping.sh.
Test suite: Fix consistency in 26_ctdb_config_check_error_on_unreachable.
Allow proxy_node to be specified for wait_until_node_has_status().
Test suite: print debug output after cluster (un)healthy flip-flop on restart.
Merge branch 'eventscript_tests' into ronnie_target
Merge branch 'test_suite' into ronnie_target
Eventscript functions: new functions to remember/check if service managed.
Eventscript functions: new function ctdb_setup_service_state_dir().
Add a README to the config/ subdirectory.
Scripts: add note about not using absolute command paths to README.
00.ctdb eventscript removes all files from $ctdb_active_dir.
Eventscripts: 00.ctdb uses $service_state_dir, neaten update_config_from_tdb().
Eventscripts: fix dangerous rm -rf in 00.ctdb init event.
Evenscripts: update 20.multipathd to use ctdb_setup_service_state_dir.
Evenscripts: update 13.per_ip_routing to use ctdb_setup_service_state_dir.
Evenscripts: update 61.cnfs to use ctdb_setup_service_state_dir.
Merge branch 'eventscript.13.per_ip_routing' into eventscript.62.cnfs
Merge branch 'eventscript.62.cnfs' into eventscript.20.multipathd
Merge branch 'eventscript.20.multipathd' into eventscript.00.ctdb
Eventscripts - fix 10.interface bash incompatibility.
50.samba eventscript should stop/start services when they become (un)managed.
50.samba eventscript should use is_ctdb_managed_service "samba".
50.samba eventscript should use is_ctdb_managed_service "winbind".
Eventscript functions - optimise is_ctdb_managed_service().
Eventscript functions: add optional event name argument to fail count functions.
Eventscript function: change service_start into a function.
Eventscript functions: move flagging of managed services.
Eventscripts: rejig the reconfigure infrastructure.
Evenscripts: update 41.httpd to use ctdb_service_check_reconfigure.
Evenscripts: update 40.vsftpd to use ctdb_service_check_reconfigure.
Evenscripts: update 60.nfs to use ctdb_setup_service_state_dir.
Evenscripts: update 60.nfs to use ctdb_service_check_reconfigure.
Eventscripts: make 50.samba use $service_state_dir.
Eventscript functions: ctdb_service_check-reconfigure() acts only on monitor.
Eventscript functions: fix counter regression.
Eventscripts: improve log messages in ctdb_start_stop_service().
Eventscripts: fix typo in _ctdb_counter_common().
Eventscripts: startstop_nfs stop no longer redirects output to /dev/null.
Eventscripts: remove unused remove_ip() function.
Eventscript functions: new function ctdb_check_counter().
Eventscripts: improvements to 41.httpd.
Eventscripts: 40.vsftpd service_stop() no longer /dev/null's output.
Eventscripts: 50.samba needs null service_reconfigure() function.
Eventscripts: 50.samba - only start/stop nmbd if $CTDB_SERVICE_NMB set.
Evenscripts: improvements to ctdb_service_check_reconfigure().
Eventscripts - 60.nfs should define service_reconfigure().
Eventscripts: in 60.nfs move statd-notify code to service_reconfigure().
Eventscripts: fix regression in 60.nfs export checking.
Revert "Tests: tweak some samba tests to cope with debug from ctdb_check_tcp_ports()."
Tests: Re-enable the Samba eventscript tests.
Eventscripts: clean up 60.nfs monitor event.
Eventscripts: change failure counts and behaviour for statd and nfsd.
Eventscripts: 10.interfaces cleanup - new functions mark_up(), mark_down().
Eventscripts: 10.interfaces clean-up - use more descriptive variable names.
Eventscripts: 10.interfaces clean-ups - push logic into monitor_interfaces().
Eventscripts: 10.interface clean-ups - variable name fix-ups.
Eventscripts: In 60.nfs don't restart NFS when restarting rpc.lockd.
Tests: re-enable the NFS eventscript tests - they work again.
Eventscripts: 10.interface clean-ups - minor tweaks and new comments.
Eventscripts: 10.interfaces - new function get_all_interfaces().
Eventscripts: 10.interfaces - startup comment says assume all interfaces good.
Eventscripts: 10.interfaces - make startup event actually mark interfaces up!
Tests - ctdb listvars test should allow alphanumericals in tunable names.
Tests - exportfs stub needs to print out export options.
Eventscripts: remove "return 0" from 50.samba service_stop().
Eventscripts - ensure the statd update-trigger file always exists.
Eventscripts - new function ctdb_set_current_debuglevel()
Eventscripts - conditionally inherit ctdbd debug level in each monitor event
Eventscripts: add a debug() function and call ctdb_set_current_debuglevel()
Eventscript functions: optimise ctdb_check_tcp_ports() and add debug.
Eventscripts - weaken TCP port check message if CTDB has just been started.
Eventscripts - ctdb_check_tcp_ports() only prints netstat output if debugging
Eventscripts - generalise TCP port checking plus new nmap-based checker
Eventscripts - new default TCP port checker using "ctdb checktcpport"
Eventscripts - in 60.nfs uniquify the share check directory list
Eventscripts: New configuration variable CTDB_SERVICE_AUTOSTARTSTOP.
Eventscripts - fix debugging buglet in ctdb_check_tcp_ports_ctdb()
Eventscripts - ctdb_check_tcp_ports() bug fix.
Eventscripts - new function ctdb_check_args()
Eventscripts - call ctdb_check_args() instead of doing hand checking
Eventscripts - call ctdb_check_args() in 00.ctdb
Eventscripts: add a synchronous synthetic reconfigure event.
Eventscripts - use ctdb scriptstatus -Y when replaying status
Tools - fix "ctdb scriptstatus -Y" output
Tests - add -T (trace) option to eventscripts run_test.sh
Tests - eventscripts exportfs stub should splits lines
Tests - new NFS share checking tests
Tests - Change variable used to fake listening TCP ports.
Tests - add eventscripts testing stub for sleep command.
Tests - add hooks to simulate ctdb commands that aren't implemented
Tests - add getdebug and checktcpport to ctdb eventscripts stub
Tests - eventscripts - stop timeouts waiting for backgrounded testparm
Tests - eventscripts - add an nmap stub
Tests - eventscripts - add output for "not implemented" in ctdb stub
Tests - eventscripts - ctdb default default level is 0.
Tests - eventscripts - add some output filtering
Tests - eventscripts - new function setup_nmap_output_filter()
Tests - eventscripts - add a new ctdb_not_implemented() function
Tests - eventscripts - new Samba tests to test TCP port checking
Tests - eventscripts - nmap and netstat stubs can pretend they weren't found
Tests - eventscripts - new Samba TCP port checking test - no nmap
Tests - eventscripts - TCP port checking, no working checkers
Tests - eventscripts - Samba TCP port checking fixes
Tests - evenscripts - add symlink to ctdb.sysconfig
Tests - eventscripts - remove undefined argument in some simple_test calls
Tests - eventscripts - add die() function and use it
Tests - eventscripts - add extra filename format for multi-event tests
Tests - eventscripts - output format tweaks
Tests - eventscripts - new function simple_test_event()
Tests - eventscripts - formatting tweak in simple_test()
Tests - eventscripts - ctdb stub - implement scriptstatus, tweaks
Eventscripts - enhance ctdb_replay_monitor_status()
Merge branch 'eventscripts' into tests
Tests - eventscripts - allow "ctdb scriptstatus" output to be primed
Tests - eventscripts - add some multievent tests
Tests - IP allocation - allow more interesting node states to be specified
Tests - IP allocation - initial unit tests
Tests - simple integration - do a "ctdb sync" after restarting the cluster
Make ctdb_diagnostics more resilient to uncontactable nodes.
Web - add me as a developer. :-)
onnode: unset EXTRA_SSH_OPTS when using fakessh
LCP IP allocation algorithm - new function lcp2_failback_candidate()
Tests - IP allocation tests - must export CTDB_LCP2.
Tests - Allow some tests in ctdb_takover_tests to specify allowed nodes
Tests - IP allocation - new test that shows current LCP2 failure
LCP IP allocation algorithm - try harder to find a candidate source node
Tests - IP allocation - add some extra output due to recent fix
Clean up warnings: ‘tevent_loop_allow_nesting’ is deprecated
Clean up warnings: remove changed_flags in monitor_helper
Fix typo in ctdb_ltdb_store_server()
Clean up warnings: log some unchecked return codes from function calls
Clean up warnings: remove set but unused variable from rb_test
Clean up warnings: remove unused variable alen from scsi_io
Clean up warnings: remove unused function dump_packet()
Clean up warnings: -Wunused-but-set-variable in tevent_signal.c
Clean up warnings: add -Wno-format-zero-length to CFLAGS
Fix ctdb scriptstatus -n all
Clean up warnings: popt sure does some strange things
Fix lib/replace
Clean up warnings: rpcgen output contains unused variable.
Added some #ifndefs to stop files being included multiple times.
Move some common functions to common/ctdb_ltdb.c
Rename ctdb_control_destructor() to ctdb_client_control_destructor()
Rename ctdb_ctrl_getscriptstatus() parameter to avoid shadowing a global
Rename ctdb_control_get_stat_history() local variable to avoid shadowing.
Tests: change ctdb_takeover_tests.c to include ctdbd code
Make some ctdb_takeover.c functions static
Relax an out of memory message.
Eventscripts: Make 40.fs_use use less processes and arguably clearer.
Eventscripts - remove $0 from error messages in 40.fs_use
Eventscripts - add facility to 10.interface to delete unmanaged IPs
ctdb tool - simplify main() by taking most code out of a loop
ctdb tool - commands that don't use the daemon can't take -n/--node
ctdb tool - short circuit most of the logic in main for non-daemon commands
ctdb tool - replace fprintf with DEBUG
ctdb tool - move parsing of nodestring to where it is needed
ctdb tool - generalise nodestring parsing for -n
ctdb tool - factor out status printing functions
ctdb tool - new command "ctdb nodestatus [nodestring]"
ctdb tool - remove verify_node() function
Rename struct traverse_state to allow tools C files to be #included.
Tests - test code for parse_nodestring() function
Tests - make a comment more accurate
Tests: eventscripts - add tests for CTDB_DELETE_UNEXPECTED_IPS="yes"
ctdb tool - Fix parse_nodestring() related issues
Tests - update test code for ctdb tool code and libctdb stubs
libctdb - add ctdb_getvnnmap()
ctdb tool - convert control_status() over to use just libctdb()
Tests - more libctdb stubs and supporting state faking functions
Tests - more libctdb stub test infrastructure
Tests - allow tools/ctdb.c:main() to be used
ctdb tool - free some memory used by popt
Tests - add a version of the ctdb tool that compiles against libctdb stubs
Tests: libctdb stubs should fail when current node disconnected
Tests: fix usage message in ctdb_tool_libctdb
Tests: initial ctdb tool testcases
Tests - let run_tests.sh take a list of tests to run
Tests - ctdb tool - fix "ctdb status" test
Tests - ctdb tool - add verbose option and output filtering
Tests: new test to check that "ctdb delip" removes the IP from interface.
Tests: eventscripts - make init test pass with recent change to 10.interface
Tests: eventscripts - fix breakage in some NFS tests
Tests - IP allocation simulation - LCP2 => non-deterministic
Test - IP allocation simulation - add -e option to run the daemon's algorithm
ctdb tool: fix thinko in nodestatus command output
Tests - simple - make disconnected node tests handle changed error message
Tests - functions/environment - set and use $CTDB_NODES
Eventscript functions - add new function die()
Eventscripts - redesign and rewrite 13.per_ip_routing
Eventscript functions - remove functions only used by 13.per_ip_routing
Eventscript functions - remove now-unused route/IP re-add script logic
Eventscript functions - no longer require interface_modify.sh
Eventscript support - Remove unused interface_modify.sh
Eventscript tests - make error message consistent with recent change
Eventscript tests - make ip command stub vaguely maintainable
Eventscript tests - implement ip rule in stub
Eventscript tests - implement ip route in stub
Eventscripts - 13.per_ip_routing should use dirname not basename for mkdir
Eventscripts - use set_proc() rather than accessing /proc directly
Eventscripts - make 13.per_ip_routing try harder to find public_addresses
Eventscripts - make 13.per_ip_routing fail gracefully if config is missing
Tests - eventscripts - ip stub command should print errors to stderr
Tests - eventscripts - add -A/-D options
Tests - eventscripts - more public IPs in default setup
Tests - eventscripts - stub ctdb command updates
Tests - eventscripts - fix hardcoding error
Update .gitignore for eventscript testing fu.
Tests - eventscripts - add support functions for policy routing testing
Tests - eventscripts - improved support functions for handling public IPs
Tests - eventscripts - rationalise CTDB fakery support
Tests - eventscripts - change summary columns
Tests - eventscripts - new function simple_test_command()
Tests - eventscripts - initial policy routing tests
Undo damage done by d8d37493478a26c5f1809a5f3df89ffd6e149281
Add policy routing documentation to ctdbd(1).
Initscript - add backup of corrupt non-persistent databases
Tests - turn of time logging by default
Tests - IP allocation - add another LCP2 test based on a test failure
Tests - IP allocation - 2 tests for NODE_FLAGS_NOIPTAKEOVER
tests - export new variable TEST_SCRIPTS_DIR
tests - add scripts/common.sh
tests - add scripts/unit.sh
tests - move functions only used by scripts/run_tests into that script
tests - add -v option to set TEST_VERBOSE=true
tests - run_tests can take a directory as an argument
tests - run_tests includes common.sh, uses die()
tests/tool - Restructure according to new convention
tests/onnode - Restructure according to new convention
tests/takeover - Restructure according to new convention
tests - run_tests ignores trailing '/' on directories
tests/eventscripts - Restructure according to new convention
tests - run_tests needs to expand directories like "." and "..".
tests/eventscripts: Tweak an error message in a policy routing test
tests/eventscripts: Share directories must be absolute in eventscript tests
tests: More unit test factoring/rationalisation and bug fixes
tests: Rename ctdb_test_functions.bash to integration.bash
tests: Rationalise integration test infrastructure
Eventscripts - Fix typo in 13.per_ip_routing support for __auto_link_local__
tests: Local daemons are no longer the default, now require run_tests -l
tests: Move relative directory path hack from run_tests to common.sh
tests: Programs run by tests should be found in $PATH
tests: Remove ctdb_test_env
tests: Add -e option to cause run_tests to exit on first test failure
tests: Add new -H option for run_tests to avoid printing header/footer
tests: Fix trailing whitespace issues in integration.bash
tests: test_wrap can use $TEST_SCRIPTS_DIR for a little extra clarity
tests: run_tests should exit with failed test status if running with -H
tests: Update top-level wrapper scripts
tests: Update README files and add new README files where missing
tests: Make run_tests -X more flexible - it now works with onnode
tests/simple: Replace "tdbdump" with "ctdb cattdb"
tests/integration: Use absolute path for socket symlink
tests/integration: Remove cabability for testcase option
tests: Add a -V option to set new variable TEST_VAR_DIR
tests: Update integration.sh to use TEST_VAR_DIR
tests: Improve the logic for adding directories to $PATH
tests: Unit tests should use $TEST_VAR_DIR
tests: Time logging in integration tests should use TEST_VAR_DIR
tests/eventscripts: $FAKE_IP_STATE is always set in ip command stub
tests: New run_tests -C (cleanup) option
tests/simple: Add new pseudo testcase to potentially shutdown local daemons
tests: Add installation script for tests
tests/eventscripts: Add sanity check to esnure events.d/ can be found
Eventscripts: fix basename -> dirname typo
tests/eventscripts: Be more defensive about removing the var directory
tests/eventscripts: Explicitly set CTDB_SERVICE_AUTOSTARTSTOP="yes"
tests/eventscripts: Use a canned ctdb.sysconfig rather than a link
tests/eventscripts: $CTDB_ETCDIR should be in $TEST_VAR_DIR
tests: Update README
Packaging: generate a ctdb-tests package
Packaging: devel package fixes
Eventscript functions: add optional version to nfs_check_rpc_service()
Packaging: add options to ctdb.spec.in to force use of bundled libraries
Packaging: Improve dependencies
tests/eventscripts: $CTDB_BASE needs to be in $TEST_VAR_DIR
tests/eventscripts: Fix a policy routing test
tests: Allow run_tests.sh to take options
tests: Allow run_cluster_tests.sh to take options
tests: In integration tests, use --node-ip to avoid locking weirdness
tests: Add a test for "ctdb reloadips"
tests: Fix wrapper scripts to handle options and tests without breakage
tests: Restore the old behaviour of "make test" so it uses tests/var
tests: Use per-daemon public_addresses file for local daemons
tests: New function get_ctdbd_command_line_option() for integration testing
tests: Fix a typo in daemons_setup()
tests: Move the "ctdb reloadips" test from complex/ to simple/
Eventscript functions: add optional version to nfs_check_rpc_service()
Eventscripts: restart lockd in the background when going unhealthy
Eventscripts: Modernise 60.ganesha to match 60.nfs
tests: test_wrap needs to set TEST_BIN_DIR when installed
Eventscripts: Fix deprecated iptables ! usage
tests: Complex tests must not be run from a cluster node
tests/eventscripts: Tweak expected output for lockd:b restart
lib/tevent: In poll_event_context, add a pointer back to the tevent_context
Revert "TEVENT: Add back tracking of long runnig events to the local copy of tevent library"
lib/tevent: Add trace point callback
Reimplement logging of long running events
Eventscripts: 11.natgw $CTDB_NATGW_PUBLIC_IP splitting optimisation
Eventscripts: remove redundant firewall rules from 11.natgw
Eventscripts: Clean up startup sanity check in 11.natgw
Eventscripts: Optimise building the host address in 11.natgw
Eventscripts: Retrieve and build NAT gateway details better in 11.natgw
Eventscripts: Update/remove stale comments in 11.natgw
Eventscripts: Default route on NAT gateway should have a metric of 10
statd-callout: Fix a bug in the calculations of $STATE
tests: select_test_node_and_ips() should never select non-node -1
tests/simple: ctdb reloadips test should use $test_ip
tests: run_tests should exit with $status with -e option
tests: simple tests against local daemons should check $TEST_LOCAL_DEAMONS
tests: select_test_node_and_ips() should try to avoid failing
tests/simple: ctdb stop/continue tests weren't actually checking IPs
tests/complex: Fix broken ctdb_test_check_real_cluster()
tests/eventscripts: Rewrite the testparm stub
tests/tool: Run ctdb_tool_* under $VALGRIND
Initscript: clean up drop_all_public_ips()
ctdbd: Fix ctdb_control_release_ip() on local daemons
ctdbd: Remove the worked "Forced" from message about running eventscripts
ctdbd: Log a meaningful message if the nodes file/list is empty
Eventscripts: Clean up 11.routing
tools/onnode: Add -P option to push files to given nodes
doc: Document the new onnode -P option
ctdb tool: recmaster command might as well be auto-all
Revert "Eventscripts - make 13.per_ip_routing fail gracefully if config is missing"
Eventscripts: 13.per_ip_routing should always fail if config is missing
tests/eventscripts: Extra cases for policy routing missing config test
recoverd: Fix bogus info in message about changed flags
recoverd: Update a log message that has bit-rotted
recoverd: verify_local_ip_allocation() should dup ifaces before early return
recoverd: main_loop() should not verify local IPs if node is stopped
recoverd: An inactive node should not force recovery master elections
recoverd: All inactive nodes should yield recovery master role
eventscripts: Print a warning on failure to delete a routing rule
tests/eventscripts: Add a policy routing unit test for "ip rule del" failure
eventscripts: 13.per_ip_routing should remove bogus routes on ipreallocated
tests/eventscript: unit test for 13.per_ip_routing bogus route removal
Eventscripts: Indent error when a route delete fails in 11.per_ip_routing
tests/eventscripts: Modify ip stub to simulate invalid table ID
tests/eventscripts: New policy routing test with invalid table ID
tools/ctdb: NAT gateway code should use CTDB_NATGW_NODES
tools/ctdb: Factor out printing of the machine readable status header
tools/ctdb: natgwlist output is either human readable or machine readable
tools/ctdb: Remove redundant filtering loop in control_natgwlist()
libctdb: add ctdb_getcapabilities()
tests: libctdb stubs must copy pointers rather than just returning them
tests: libctdb stubs initial ctdb_getcapabilities() implementation
tools/ctdb: Convert some commands over to libctdb
tools/ctdb: Clean up control_natgw()
tests/tool: New function setup_natgw() to setup $CTDB_NATGW_NODES
tests/tool: New tests for natgwlist, getcapabilities, lvs, lvsmaster
libctdb: Add comments to effect that some controls return result in status
tools/ctdb: Free the event context
Initscript: Kill any existing ctdbd processes if the ping succeeds
Eventscripts: split 50.samba into 49.winbind and 50.samba
eventscripts: Auto-start/stop services in background
util: ctdb_fork() closes all sockets opened by the main daemon
ctdbd: Avoid unnecessary updateip event
Eventscripts: Add service-start and service-stop pseudo-events
ctdbd: New tunable NoIPTakeoverOnDisabled
ctdbd: Stop takeovers and releases from colliding in mid-air
recoverd: When starting a takeover run disable IP verification
recoverd: Track failure of "recovered" event, banning culprits
Eventscripts: Add support for "reconfigure" pseudo-event for policy routing
tests/eventscripts: add extra infrastructure for policy routing tests
tests/eventscripts: add unit tests for policy routing reconfigure
common: Debug ctdb_addr_to_str() using new function ctdb_external_trace()
Logging: Map TEVENT_DEBUG_FATAL to DEBUG_CRIT
Eventscripts: "recovered" event should not fail on NATGW failure
Revert "Eventscripts - add facility to 10.interface to delete unmanaged IPs"
recoverd: Verifying local IPs should only check for unhosted available IPs
tools/ctdb: Remove extra header from natgwlist -Y output
recoverd: Clarify some misleading log messages
ctdbd: Remove references to forcing running of eventscripts from log messages
initscript: Check that rc.ctdb is executable before running it
tools/ctdb_diagnostics: Add "ctdb listvars" output
scripts: Refactor logging code in initscript and functions file
recoverd: Add CTDB_SRVID_GETLOG and CTDB_SRVID_CLEARLOG
tools/ctdb: Add log ringbuffer handling for recoverd
tools/ctdb: Merge recoverd log handling into getlog/clearlog
tests: Local daemons should use the logging ringbuffer
doc: getlog and clearlog changes for recovery daemon logs
ctdbd: Fix compilation warning in locking code
Eventscripts: 10.interface startup event should only process interfaces once
ctdbd: Make the link status of new interfaces more flexible
Eventscripts: 10.interface should list configured interfaces
Git should ignore generated include/version.h file
Initscript: when checking status, print output of "ctdb ping" if it fails
tests: Local daemons should use --listen instead of --node-ip
ctdbd: Remove debug option --node-ip, use --listen instead
ctdbd: Initialise the node flags in just one place
Eventscripts: Do not restart NFS on reconfigure
Eventscripts: Change the default reconfigure action to do nothing
ctdbd: Clean up orphaned interfaces when an IP is deleted
tests: new function ip2ipmask() for integration testing
tests: new simple integration test for delip interface garbage collection
tests/takeover: Support valgrinding the takeover code
tests/takeover: IP allocation now selected via $CTDB_IP_ALGORITHM
tests/takeover: Support testing of NoIPTakeoverOnDisabled
tests/takeover: Do output filtering for deterministic IPs algorithm too
tests/takeover: Initial tests for deterministic IPs
tests/takeover: Add some LCP2 tests for case when no node are healthy
recoverd: Fix a memory leak in IP allocation
recoverd: Move the test for both 'DeterministicIPs' and 'NoIPFailback' set
recoverd: Don't do failback at all when deterministic IPs are in use
recoverd: basic_failback() can call find_takeover_node() directly
recoverd: Trying to failback more IPs no longer allocates unassigned IPs
recoverd: Move failback retry loop into basic_failback() and lcp2_failback()
recoverd: New function unassign_unsuitable_ips()
recoverd: Separate each IP allocation algorithm into its own function
tests/eventscripts: Ratchet down debug level for ctdb_takeover_tests
tests/simple: Add test to check recovery daemon IP verification
scripts: Move drop_all_public_ips() to the functions file
eventscripts: Each script should set CTDB_BASE if it is not set
scripts: statd-callout should calculate CTDB_BASE if it is not set
scripts: debug-hung-script.sh doesn't need functions/loadconfig
ctdbd: Default value for debug_hung_script should use ETCDIR
scripts: Make drop_all_public_ips() more robust
scripts: Rework ctdb-crash-cleanup.sh so that it uses existing functions
scripts: Make script_log() use supplied message, stop logger from hanging
eventscripts: Fail the setup event if CTDB does not become ready
tools/ctdb: Fix a compiler warning
build: Fix a Makefile.in typo
Logging: New function ctdb_log_ringbuffer_free()
Logging: Free the ringbuffer in child processes created with ctdb_fork()
ctdbd: Message logged at exit should be different for different processes
ctdbd: Remove debug_hung_script_ctx
ctdbd: Remove command-line option --debug-hung-script
ctdbd: Complain loudly if CTDB_DEBUG_HUNG_SCRIPT script isn't executable
ctdbd: Don't use a fixed length buffer for the hung script command
initscript: export CTDB_EXTERNAL_TRACE
Logging: Fix breakage when freeing the log ringbuffer
doc: Fix typo in ctdbd manpage
client: New generic node listing function list_of_nodes()
client: Refactor node listing functions to use list_of_nodes()
recoverd: update_capabilities() should use connected nodes
tools/ctdb: delip no longer fails if IP can not be moved
util: New functions ctdb_set_child_info() and ctdb_is_child_process()
util: ctdb_fork() should call ctdb_set_child_info()
ctdbd: Add --pidfile option
initscript: Use a PID file to implement the "status" option
scripts: ctdb-crash-cleanup.sh uses initscript to see if ctdbd is running
include: Move ctdb_start_daemon() from ctdb_client.h to ctdb_private.h
util: Removed unused declaration of ctdbd_start()
initscript: Remove duplicate setting of $ctdbd
scripts: Ensure service command is in $PATH in ctdb-crash-cleanup.sh
scripts: Use $CTDB_SCRIPT_DEBUGLEVEL instead of something more complex
scripts: Clean up update_tickles() and handling of associated directory
eventscripts: Ensure directories are created
scripts: Ensure even external scripts get tagged in logs as "ctdbd"
ctdbd: Log PID file creation and removal at NOTICE level
recoverd: Interface reference count changes should not cause takeover runs
ctdbd: Avoid freeing non-monitor event callback when monitoring is disabled
ctdbd: New control CTDB_CONTROL_IPREALLOCATED
recoverd: ctdb_takeover_run() uses CTDB_CONTROL_IPREALLOCATED
eventscripts: Remove use of "stopped" event
ctdbd: Remove the "stopped" event
ctdbd: Log CTDB startup before creating the PID file
initscript: Look for tdbtool/tdbdump using which, not in fixed locations
scripts: Fix script_log() regression
eventscripts: Remove unused function ctdb_check_counter_equal()
eventscripts: Simplify handling of $service name in reconfigure functions
eventscripts: Simplify handling of $service name in service_management
eventscripts: Simplify handling of $service name in start/stop functions
eventscripts: Simplify handling of $service name in "managed" functions
eventscripts: counters default to $script_name if $service_name not set
eventscripts: Assert that $service_name is set in a few key places
eventscripts; Cleanup up ctdb_check_directories()
eventscripts: Clean up ctdb_check_command()
eventscripts: Remove unnecessary variables from killtcp/tickle functions
eventscripts: Change handling of one-way kills in kill_tcp_connections()
eventscripts: Reimplement kill_tcp_connections_local_only()
eventscripts: Refactor connection listing in killtcp and tickle functions
eventscripts: Remove unused $_killcount from tickle_tcp_connections()
eventscripts: In killtcp/tickle functions, $_failed should be boolean
eventscripts: Tweak the timeout check in kill_tcp_connections()
eventscripts: Minor cleanups for killtcp/tickle functions
eventscripts: Make the early exit in 01.reclock earlier
eventscripts: Might as well try to stat the reclock file first
eventscripts: Use ctdb_check_counter() instead of ctdb_check_counter_limit()
eventscripts: Remove unused function ctdb_check_counter_limit()
eventscripts: Factor NFS RPC check action code into nfs_check_rpc_action()
eventscripts: Move rpc.statd existence check into nfs_check_rpc_service ()
Revert "Eventscript functions: add optional version to nfs_check_rpc_service()"
eventscripts: Remove ganesha support from nfs_check_rpc_service()
eventscripts: Factor out common code from nfs_check_rpc_service()
eventscripts: nfs_check_rpc_action() should be _nfs_check_rpc_action()
eventscripts: New function nfs_check_rpc_services()
eventscripts: NFS RPC checks allows "nfsd" in addition to "knfsd"
eventscripts: 60.nfs uses nfs_check_rpc_services() to check NFS RPC services
eventscripts: NFS RPC checks no longer support "knfsd"
recoverd: Add debug message when dropping IPs in IP allocation
tests: Unit test diff output should use filtered output
recoverd: Refactor code to get NoIPTakeover tunable from all nodes
tests/takeover: Allow per-node tunable settings
recoverd: Factor out new function all_nodes_are_disabled()
recoverd: Fix tunable NoIPTakeoverOnDisabled, rename to NoIPHostOnAllDisabled
tests/takeover: Add takeover tests, mostly for NoIPHostOnAllDisabled
recoverd: Remove unused mask argument from IP allocation functions
recoverd: When calculating rebalance candidates don't consider flags
recoverd: Remove unused mask argument and initial mask calculation
recoverd: Clear IP flags after IP allocation algorithm has run
recoverd: Move IP flags into ctdb_takeover.c
initscript: If CTDB doesn't become ready, print a message before killing
eventscripts: Fix regression in _loadconfig()
ctdbd: Removed bogus comment in ctdb_find_iface()
ctdbd: Log add and delete of IPs
ctdbd: Log a message when recovery master changes
scripts: Rework notify.sh to use notify.d/ directory
Packaging: maketarball.sh should be a bash script due to pushd use
ctdbd: Update confusing log message
recoverd: takeover_run_core() should not use modified node flags
tools/ctdb: Remove duplicate command definition for "sync"
ctdbd: Replace ctdb->done_startup with ctdb->runstate
ctdbd: Only start recovery daemon and timed events after setup event
ctdbd: Start logging process earlier
ctdbd: New control CTDB_CONTROL_GET_RUNSTATE
tools/ctdb: New command runstate to print current runstate
tools/ctdb: "ctdb runstate" now accepts optional expected run state arguments
ctdbd: Add new runstate CTDB_RUNSTATE_FIRST_RECOVERY
eventscripts: 11.natgw should not call ctdb tool in "init" event
ctdbd: When the "setup" event fails log an error and exit, don't abort
recoverd: Use talloc_array_length() for simpler code
recoverd: Whitespace improvements
ctdbd: Update the get_tunable code to return -EINVAL for unknown tunable
client: async_callback() sets result to -ETIME if a control times out
recoverd: Set explicit default value when getting tunable from nodes
recoverd: Handle errors carefully when fetching tunables
recoverd: Nodes can only takeover IPs if they are in runstate RUNNING
tests/takeover: New tests to check runstate handling
tests/takeover: Allow takeover runs with differing IP allocations per node
tests/takeover: LCP2 tests for weird, unbalanced corner-cases
tests/takeover: Takeover tests can use up to 1024 and checks limits
tests/takeover: New test with 900 IPs
tests: Fix integration tests to use real private IPs
scripts: Provide mktemp function for platforms without mktemp command
recoverd: Backward compatibility for nodes without IPREALLOCATED control
eventscripts: Stop NAT gateway's delete_all() from polluting the log
packaging: makerpms.sh can take multiple arguments for rpmbuild
build: Fix install paths for pcp pmda
build: Separate autoconf macros for pmda
packaging: Create separate package for pcp pmda
tests/scripts: Delete unused $rows and $ww variables from run_tests
tests/integration: Improve debug output for unhealthy cluster after restart
eventscripts: Fix statd-callout update handling
doc: Add release notes for 2.2
recoverd: Log node that causes takoever run to fail
eventscripts: Add new option $CTDB_MONITOR_NFS_THREAD_COUNT
eventscripts: New configuration varable $CTDB_NFS_DUMP_STUCK_THREADS
tests/eventscripts: Add unit tests for $CTDB_MONITOR_NFS_THREAD_COUNT
tests/eventscripts: Fix -X tracing in iterate_test()
tests/eventscripts: Unit tests for $CTDB_NFS_DUMP_STUCK_THREADS
ctdbd: "init" event should run earlier in daemon initialisation
scripts: drop_all_public_ips() now prints messages to stdout, not log
scripts: drop_ip() should use delete_ip_from_iface()
scripts: Move dropping of all IPs from initscript to "init" event
scripts: Move TDB checking from initscript to "init" event
logging: Notify parent when logging daemon is up
tests/eventscripts: setup_ctdb() should always set $CTDB_PUBLIC_ADDRESSES
eventscripts: 13.per_ip_routing should not try hard to find public_addresses
tests/eventscripts: New tests for 00.ctdb "init" event
eventscripts: "setup" event doesn't need to wait for SETUP runstate
ctdbd: Refactor shutdown sequence
ctdbd: Fix panic on overlapping shutdowns
tests: Integration test infrastructure should do only a single recovery
tests: Integration tests use "ctdb nodestatus" for healthy cluster check
doc: Update NEWS
doc: Add nodestatus command to the ctdb manpage
doc: Update notification script section in ctdbd manpage
doc: Fix documentation for NoIPTakeover in ctdbd manpage
doc: Fix ctdb ping entry in manpage
tools/ctdb: Add "force" option to "recover" command
recoverd: Don't continue if the current node gets banned
doc: Add banning bug fixes to NEWS
doc: Add a disclaimer for the EnableBans tunable
ctdbd: Log warnings in release IP when unexpected interface is encountered
ctdbd: Release IP callback should fail if the IP is still hosted
eventscripts: When replaying monitor status, don't log empty output
util: New function ctdb_die()
ctdbd: Avoid a core dump when "init" event fails
ctdbd: Use ctdb_die() on "setup" event failure
recoverd: Fix an incorrect comment
recoverd: Fix an unclear log message - "Restart recovery process"
recoverd: Clean up log messages in remote IP verification
recoverd: Minor style improvements for ctdb_reload_remote_public_ips()
ctdbd: Log something when releasing all IPs
eventscripts: Drop RPC service version from nfs_check_rpc_service() calls
eventscript: Move Ganesha nfsd monitoring to a function
eventscripts: New configuration variable $CTDB_SKIP_GANESHA_NFSD_CHECK
tests/eventscripts: Add some rudimentary tests for 60.ganesha
recoverd: Recovery daemon should use ctdb_get_pnn, which can't fail
initscript: Simpify initscript and control CTDB via new ctdbd_wrapper
build: Remove -DTEVENT_DEPRECATED_QUIET=1 from CFLAGS
build: Turn off all deprecation warnings
packaging: Add systemd support
doc: Update NEWS
recoverd: Really fix bogus info in message about changed flags
scripts: ctdbd_wrapper logs a message to syslog if syslog is not being used
ctdbd: Allow extra recovery to repair persistent DBs during first recovery
eventscripts: Get list of configured interfaces using "ctdb ifaces"
eventscripts: A missing interface should cause monitoring to fail
tests/eventscripts: Add tests for monitoring of missing interfaces
ctdbd: Exit if something is already listening on CTDB socket
ctdbd: Sleep at exit to allow time for log messages to flush
tests/simple: Add -p in onnode test to help show groups of connections
tests: Fix exit status of run_tests when a single test is run with -H
tests/complex: Fix NFS tests to work with root_squash
ctdbd: Pass event name to hung script debugger
scripts: Run scriptstatus for hung event
recoverd: Call takeover fail callback only once per node
tests: Always tally the number of passed/failed tests
tools/ctdb: Allow killtcp to read connections from standard input
eventscripts: kill_tcp_connections() should send connections to stdin
ctdbd: Kill client process without checking for tracked child
initscript: The wrapper script should export CTDB_SOCKET
doc: Update XML files to use standard DocBook DTD
scripts: Do not run ctdb tool commands when debugging hung "init" event
packaging: Allow setting custom release number in RPM spec file
tests/simple: Fix the missing IP test
tests/simple: Unreachable node test should wait for recovery to complete
eventscripts: When restarting the nfslock service only show output of start
eventscripts: Remove support for RPC service 'q' and 's' restart flags
tests/eventscripts: Override background_with_logging(), just prepend "&"
eventscripts: Separate out RPC service restart code
eventscripts: Add modulo (%) operator to ctdb_check_counter()
eventscripts: New configuration variable $CTDB_RPCINFO_LOCALHOST
eventscripts: Print a message when waiting for TCP connections to be killed
eventscripts: Improve message logged when a counter hits a limit
tools/ctdb: Increase default control timeout to 10 seconds
eventscripts: Become unhealthy faster on nfsd failure
tools/ctdb: Use ctdb_get_pnn() to get PNN of the current node
tools/ctdb: Factor, simplify and improve robustness of ipreallocate code
tools/ctdb: Factor out common pattern used in disable/enable/stop/continue
tools/ctdb: Reimplement ban/unban using update_flags_wait_and_ipreallocate()
tools/ctdb: Fix message in showban when node is banned
recoverd: Log more information when interfaces change
recoverd: Move struct ctdb_public_ip_list back into ctdb_takeover.c
recoverd: Remove an unused temporary talloc context
tools/ctdb: Improve auto-all settings for some commands
tools/ctdb: Remove more non-essential fetching of PNN from daemon
tools/ctdb: Make most non-auto-all commands abort if run with -n all
scripts: Remove gdb_backtrace
eventscripts: Avoid using a temporary file in 62.cnfs
tools/ctdb_diagnostics: Safer temporary file creation
tools/ctdb_diagnostics: Add output of "ctdb getdbmap"
packaging: Remove pushd/popd from maketarball.sh, don't need bash
tests/simple: Minimise the chance of a monitor event being cancelled
doc: Update NEWS
eventscripts: Clean up monitoring of system memory in 00.ctdb
tests/eventscripts: Tests for memory checking in 00.ctdb
tools/ctdb: Fix a memory leak in parse_nodestring()
tools/ctdb: list_of_active_nodes_except_pnn() -> list_of_nodes()
client: Remove unused function list_of_active_nodes_except_pnn()
recoverd: Update a comment to use current terminology
recoverd: Remove an orphaned comment
common: Make parse_ip() valgrind-clean
recoverd: Banned nodes should not be told to run "ipreallocated" event
recoverd: Stabilise the recovery master role
recoverd: New function do_takeover_run()
recoverd: Fail takeover run if "ipreallocated" fails
recoverd: takeover_fail_callback() doesn't need to set rec->need_takeover_run
recoverd: do_takeover_run() should mark when a takeover run is in progress
recoverd: Move disabling of IP checks into do_takeover_run()
recoverd: Make the SRVID request structure generic
recoverd: Factor out the SRVID handling code
tools/ctdb: Change ipreallocate() to use a local done flag
tools/ctdb: Factor out SRVID broadcast code from ipreallocate()
tools/ctdb: Add a wait_for_all option to srvid_broadcast()
recoverd: New SRVID message CTDB_SRVID_DISABLE_TAKEOVER_RUNS
recoverd: Reimplement CTDB_SRVID_DISABLE_IP_CHECK
recoverd: Defer ipreallocated requests when takeover runs are disabled
tools/ctdb: Reimplement reloadips
recoverd: Remove unused CTDB_SRVID_RELOAD_ALL_IPS and handler
recoverd: Fix the implementation of CTDB_SRVID_REBALANCE_NODE
ctdbd: Make ctdb_reloadips_child send controls asynchronously
recoverd: reloadips should rebalance target nodes for new IPs
recoverd: Be careful about freeing the list of IP rebalance target nodes
tests/simple: Fix the reloadips test to cope with changes to reloadips
tools/ctdb: Make rebalancenode more robust
tools/ctdb: Fix arguments/semantics of rebalance node
tools/ctdb: Use the standard long timeout when disabling takeover runs
recoverd: Improve logging for takeover runs
recoverd: Disable takeover runs on other nodes for 5 minutes
tools/ctdb: Ban time of 0 is invalid
tools/ctdb: Fix help messages for ctdb commands
utils: Make debug level strings case-insensitive
scripts: Add support for optional ctdbd.conf configuration file
tool/ltdbtool: -h option does not require an argument
client: Fix some format string compiler warnings
tools/ctdb: Stop return value from being clobbered in control_lvsmaster()
tests/tool: Fix some comment typos
tests/tool: Rework test programs so they no longer expect libctdb
tests/tool: Remove references in libctdb in file and function names
recoverd: Fix the VNN lmaster consistency check
tests/integration: Tweak ctdbd startup options
eventscripts: Fix comment - CTDB_TCP_PORT_CHECKS -> CTDB_TCP_PORT_CHECKERS
tests: When running local tests with run_tests.sh, use fixed TEST_VAR_DIR
git: Ignore generated documentation files
client: Fix a format string argument compiler warning
Revert "null out the pointer before we reload the nodes file"
recoverd: Remove function reload_nodes_file()
eventscripts: Deprecate NFS_SERVER_MODE, use CTDB_NFS_SERVER_MODE instead
scripts: Remove unused configuration variable CTDB_MANAGES_SCP
scripts: Remove support for CTDB_OPTIONS configuration variable
scripts: Simplify script_log() to just look at CTDB_SYSLOG variable
eventscripts: NAT gateway script should export CTDB_NATGW_NODES
eventscripts: Clean up 20.multipathd
tests/eventscripts: New tests for 20.multipathd
tests/eventscripts: Run scripts under sh by default
scripts: Remove setting of PATH from functions file
eventscripts: Remove TCP port checks other than the built-in CTDB one
eventscripts: Fold ctdb_check_tcp_ports_ctdb() into ctdb_check_tcp_ports()
eventscripts: Remove reconfigure code from httpd eventscript
eventscripts: Remove reconfigure check from samba and winbind eventscripts
eventscripts: Clean up comment at the top of 00.ctdb
eventscripts: Delete placeholder "recovered" and "shutdown" events
eventscripts: NAT gateway script doesn't need to handle "recovered" event
eventscripts: Don't update static routes on "recovered" event
eventscripts: Rework the iSCSI eventscript
scripts: Make detect_init_style() more readable
initscript: New configuration variable CTDB_DBDIR_STATE
ctdbd: Fix some errors in the popt configuration
tests/integration: Pass --valgrinding option when running under valgrind
ctdbd: Don't check CTDB_BASE before setting it, just don't override
tools/ctdb: CTDB_BASE is the default location of configuration files
ctdbd: Add nodes_file member to struct ctdb_context
ctdbd: Default for event_script_dir should use CTDB_BASE
ctdbd: Debug locks by default with override from enviroment variable
ctdbd: Pass the public address file location in ctdb context
common: New function mkdir_p()
common: New function ctdb_mkdir_p_or_die()
ctdbd: Remove duplicate database directory setting logic
ctdbd: Simplify database directory setting logic
initscript: Update systemd configuration to put PID file in /run/ctdb
tools/onnode: Fix healthy/ok node handling
Revert "recoverd: Disable takeover runs on other nodes for 5 minutes"
tools/ctdb: Fix documentation string for ban command
eventscripts: Rewrite the smb.conf cache file handling
tests/complex: Remove CTDB_SAMBA_SKIP_SHARE_CHECK test
tests/complex: Remove CTDB_NFS_SKIP_SHARE_CHECK test
ctdbd: When a node is connected, log at DEBUG NOTICE not DEBUG_INFO
Revert "if a new node enters the cluster, that node will already be frozen at start"
recoverd: Improve an error message in the election code
recoverd: Rebalancing should be done regardless tunable
doc: Major updates to manual pages
doc: Update NEWS
testparm: Warnings should not cause failure
ctdb-build: Update to latest upstream config.guess
ctdb-recoverd: Remove duplicate code to update flags during recovery
ctdb-recoverd: A node refuses to play against itself
ctdb-scripts: debug_locks.sh should use configuration to find TDB location
ctdb-recoverd: Fix backward compatibility for CTDB_SRVID_TAKEOVER_RUN
ctdb-tests/integration: try_command_on_node() shouldn't lose onnode options
ctdb-onnode: New -i option to stop stdin from being closed
ctdb-tools/ctdb: New ptrans command
ctdb-doc: Update ctdb.1 - primarily to add pdelete/pfetch/pstore/ptrans
ctdb-scripts: Rewrite statd-callout to avoid 10 minute lag
ctdb-recoverd: For persistent databases a sequence number of 0 is valid
ctdb-tests/simple: Update persistent DB tests
ctdb-tests/simple: User sleep_for() instead of sleep
ctdb-tests/takeover: Fix bogus test description
ctdb-tests/integration: Neaten up some of the persistent database tests
ctdb-eventscripts: Remove the nfs_statd_update() call from 60.ganesha
ctdb-scripts: Add an early exit to statd-callout's notify case
ctdb-recoverd: Only respond to currently queued ipreallocated requests
ctdb-tools/ctdb: Improve error checking when parsing node string
ctdb: Update NEWS
ctdb:tests/integration: Be more careful when killing ctdbd
ctdb:tests: remove unused setup_nmap_output_filter()
ctdb:tests: Rework unit test result filtering
ctdb:tests: Add -S option to support socket wrapper
ctdb:tests: New "autotest" Makefile.in target
ctdb:tests: run_tests should ignore bogus test directories
ctdb:tests/simple: Nobody looks at /tmp/recloop.out so use /dev/null instead
ctdb:build: Update mkversion.sh to use samba-* tags
ctdb/tests/integration: Update NFS tickles test and supporting code
ctdb/tests/simple: Move the local daemons code to its own file
ctdb/tests/integration: Remove the time logging code
ctdb/tests/integration: Remove some unused functions
ctdb/tests/simple: Local daemons version of setup_ctdb() overrides
ctdb/tests/integration: Update daemons shutdown pseudo-test
ctdb/tests/integration: Decentralise the daemon restart code
ctdb/tests/scripts: Sort command-line options
ctdb/tests/scripts: Simplify the top-level test scripts
ctdb/tests/scripts: Promote scripts/run_tests
Mathieu PARENT (3):
build: Make log-directory configurable indepently of VARDIR
smnotify: fix popt.h include to allow use of system lib
correct ctdbd(1) manpage warning
Mathieu Parent (43):
(This used to be ctdb commit b0718551f55d5da9be0e6aba233f57c1ff8509be)
Fix bashism in natgw eventscript.
Fix bashisms in multipathd event script.
Fix bashisms in samba event script.
Fix bashism in nfstickle event script.
Update outdated autotools helper files.
Fix bashism in events.d/11.natgw
Correction of spelling errors in manpages
Correction of spelling errors.
Correct nice_service()
Fix some more bashisms
Correction of spelling errors
Fix bashism
Manpage for ping_pong
Fix broken readdir
Less verbosity when there is no public addresses file
apache's service name is not always httpd
Typo deamon -> daemon
Fix bashism in 40.fs_use
config/functions: CTDB_VARDIR is /var/lib/ctdb on Debian-like systems
config can be in /etc/default/ instead of /etc/sysconfig/
config can be in /etc/default/ instead of /etc/sysconfig/ (ctdb_gnostics part)
Nagios plugin for CTDB
Fix ctdb-crash-cleanup sysconfig handling
Remove zero-length gnu_printf format string in ctdb_daemon.c (gcc warning)
Move platform-specific code to common/system_*
GNU/Hurd support
Add kFreeBSD support
Define ETIME on non-supporting platforms
Load platform dependent objs instead of Linux one
build: Add missing LDFLAGS
doc: allows to -> allows one to
build: Update config.guess 2012-12-30 and config.sub to 2013-01-11
common: Detailed platform-specific FIXME
common: FreeBSD+kFreeBSD: Implement get_process_name (same as in Linux)
tests: Test portability
common: Don't lie on unimplemented gratuitous arp
libctdb: Include config.h in libctdb/ctdb.c
build: Fix tdb.h path to enable building with system TDB library
Update Nagios check to work with ctdb versions past 30 Aug 2011
Add missing events.d/99.timeout
Improved check_ctdb
Add missing $remote_fs LSB dependency
Matthias Dieter Wallnöfer (1):
tdb tools: Mostly cosmetic adaptions
Matthieu Patou (13):
libcli: continue to read from the socket even if the size is 0
Backport 0e97908 from WAF repository: symlink fix for OpenBSD
idl: remove duplicate flag
idl: fix frsrpc idl with NDR64 fields
pidl: Generate NDR64/NDR32 aware code for the wireshark dissectors
pidl: Generate wireshark that conforms to the rules of Wireshark project
librpc: return a ndr_pull_error instead of just NDR_ERR_NDR64 when upper bits of 64 bit value are not 0
Remove check_col from generated DCE/RPC dissectors.
pidl-wireshark: fix trailing white space in the HF definition
pidl-wireshark: fix the trailling white space in the generated headers
librpc-idl: replace int32 by the enumeration as it's the type that we use in union's switch drsuapi_DsGetDCInfoCtrLevels
auth-kerberos: add the credentials.h so that enum credentials_obtained is defined
librpc-idl: change the drsuapi_DsBindInfoCtr so that it match what is on the wire both in NDR32 and NDR64.
Michael Adam (678):
Use "grep -q" instead of "grep ... > /dev/null" in events.d/10.interfaces
Improve the monitor event test for ethernet interfaces (link detection).
packaging: set docdir in calls to make (to get it right on e.g. SuSE systems).
ctdb.init: fix status message of "service ctdb stop" on suse systems
ctdb.init: fix return code of "service ctdb stop" on non-redhat systems
ctdb.init: behave correctly when calling "service ctdb stop" on stopped service
ctdb.init: check availability of ctdb (with ping) before calling ctdb status
ctdb.init: add Default-Start to init script to enable autostart.
skip directories containing macros (%) in ctdb_check_directories_probe
ctdb.samba.org: fix instruction for turning off samba service autostart
doc: join broken lines in excerpt from log.ctdb
makerpms: use variable (SPECFILE) that is available instead of hard coded file name
makerpms: move comment to appropriate place
makerpms: catch error of git archive correctly (echo resets $?)
makerpms: don't cd to $SPECDIR but rpmbuild -ba $SPECDIR/$SPECFILE instead
makerpms: remove the need of calling makerpms.sh from the top level directory
makerpms: don't hard-code the version number but extract it from ctdb.spec
makerpms: confess
ctdb.spec: fix version and (RPM-)release number.
makerpms: fix creation of tarball when gzip does not know "--rsynceable"
ctdb.init: add $network to RequiredStop to match RequiredStart.
functions: add detect_init_style().
ctdb.init: use detect_init_style() in the init script
funcions: make (nice_)service a noop for empty service name
events 50.samba: also support suse and ubuntu/debain systems
ctdb.init: fix typo
makerpms: fix detection of support for --rsyncable flag in gzip.
Makefile: remove extra "/" in paths
packaging(RPM): detect and use ccache if available
events 50.samba: fix control of nmbd without separate nmb service script.
Fix verification of IP allocation with ipv6 addresses on Linux.
ctdb_sys_have_ip: fix ipv6 support for aix, too.
ctdb_util: use the parse_ip() function - avoid code duplication
Fix treatment of link local ipv6 addresses: set the scope id.
events.d/41.httpd: fix a comment typo
autoconf: Make sure the result of the mkdir_has_mode test gets cached.
Fix the build on AIX: sys/socket.h needs to be included before ctdb.h
packaging: add a maketarball script
remove include <netinet/in.h> from public ctdb.h
ctdb_check_tcp_ports: cope with multiple locations of netcat or nc
ctdb_check_tcp_ports: fail the check if neither netstat nor netcat/nc is found
ctdb_check_tcp_ports: correctly detect listeners on ipv6 :::<port> w/out netcat
add a simple test script to test ctdb_check_tcp_ports
events.d/41.httpd: fix a typo in the fix of the comment typo
make: add a "showlayout" target for diagnostics
build: print default in help for --with-logdir
events 41.httpd: support suse and ubuntu/debian systems for managing apache
Merge commit 'ctdb-ronnie/master'
Merge commit 'ctdb-ronnie/master'
move common code of system_linux.c and system_aix.c into new system_common.c
Merge commit 'ctdb-ronnie/master'
Merge commit 'ctdb-ronnie/master'
ctdb.sysconfig: add CTDB_INIT_STYLE with explanation
events.d/50.samba: allow CTDB_SERVICE_{SMB,NMB,WINBIND} to be overriden from sysconfig
ctdb.sysconfig: add CTDB_MANAGES_HTTPD comment section
Merge commit 'ctdb-ronnie/master'
add tridge's ping_pong.c to the utils folder
build: also build and install ping_pong
packaging: also package ping_pong
ping_pong: reduce a couple of prototype warnings
ping_pong: get pread/pwrite prototypes from unistd.h
ping_pong: add GPL comment header with Tridge's copyright
Remove generated binary files.
makerpms.sh: add GPL license header
maketarball.sh: add GPL license header
ping pong: fix logic for mmap reads vs. preads
client: set dmaster in ctdb_transaction_store() also when updating an existing record
Fix persistent transaction commit race condition.
ctdbd: refuse PERSISTENT_STORE if transaction is running.
client: refuse to do record_store() on a persistent tdb.
debug: add debug_add and dump_data functions
ctdbd: set debug_add hook to be able to use dump_data in the daemon.
ctdbd: use ctdb_syslog_log() as debug_add function for syslog
client:ctdb_control_send: remove duplicate setting of the reqid header.
client: fix a debug message (misplaced newline).
tests: fix the 52_ctdb_fetch.sh test.
set broadcast addresses in the takeip event.
Rename the CTDB_INIT_STYLE "ubuntu" to "debian" - this is where it comes from.
ctdb_logging: fix a comment typo.
Introduce sysconfig variable CTDB_SYSLOG=yes/no (default "no").
ctdb_client: fix race in starting concurrent transactions on a single node
Revert "allow the transaction commit to fail"
Revert "dont check if commit failed, we do allow the commit to fail sometimes"
In ctdb_ltdb_store(), add a missing transaction_cancel when local store failed.
server: add a new ctdb control CTDB_TRANS2_ACTIVE
client: add ctdb_ctrl_transaction_active() which calls out to CTDB_TRANS2_ACTIVE
client: fix race condition with concurrent transactions on the same node.
ctdb_client: reformat a comment slightly to enhance clearness.
server: trans2_active: don't report a transaction active on the node that performs the transaction
client: improve "control timed out" debug message
server: add positive debug statements to trans2_commit and trans2_finished
server: extend a debug message in ctdb_control_trans2_error()
server: fix a debug message in trans2_commit - log the correct db_id
server: output client_id in some debug messages in trans2_commit
server: line-wrap a debug statement in trans2_commit
server: uniformly log db and client ids as 8-digit hex numbers in trans2_commit
client: log db_id as 8-digit hex in ctdb_transaction_fetch_start()
server: fix debug message in trans2_commit (refusing persistent store during transaction)
packaging(RPM): don't touch the run levels in ctdb install/udpate.
client: add a debug message when a transaction_commit needs to be retried
client: fix a race in the local race condition fix in transaction_start
Revert "dont exit on a commit failure"
client: randomize the transaction_start retry loop:
server: disable vacuuming for persistent tdbs.
packaging: use githash in rpm release by default.
Add a 99.timeout event script to trigger monitor timeouts.
ctdb.sysconfig: add a comment section about CTDB_RUN_TIMEOUT_MONITOR
packaging:maketarball.sh: create the specfile from the ctdb.spec.in
configure:maketarball.sh: call autogen.sh and include configure in the tarball
packaging:maketarball.sh: add a DEBIAN_MODE to the tarball creation
tests: turn printfs into DEBUG statements in the ctdb_transaction test
ctdb: add command "ctdb wipedb" to wipe the contents of an attached tdb
packaging: rework maketarball.sh to accept an arbitrary githas to pack
packaging: remove the lib/popt from the tarball in debian mode
client: in catdb, print the keyname first, and separate records by a blank line
tests:ctdb_transaction: print an extra counters when a commit fails
recovery: pass the persistent flag to recover_database()
recovery: for persistent db's don't set the dmaster to the recmaster node number
make ctdb_ctrl_transaction_active public.
recovery: add special pull-logic for persistent databases
client: increase the rsn of the __transaction_lock__ when storing
client: untangle checks and produce more detailed error messages
client: increase the number of commit retries 10-->100
server:trans2_commit: move the check for active recovery down.
client: improve two error messages in ctdb_transaction_commit().
packaging: package tests/bin/ctdb_transaction under /usr/share/doc/tests/bin
call: lower the debug message "refusing migration while transction" to lvl INFO
client: lower debug level of transaction-active-retry message to DEBUG
client: lower level of commit retry message WARNING->DEBUG
test: get value for --timelimit from environment var CTDB_TEST_TIMELIMIT in transaction test
test: add test 54_ctdb_transaction_recovery.sh
tests: remove persistent_safe write test.
tests: remove the persistent_unsafe writes test.
tests: remove the no_trans mode from ctdb_transaction.
server: add a new control CTDB_CONTROL_TRANS3_COMMIT
define CTDB_DB_SEQNUM_KEY - used with the new implementation of transactions.
Add a new control CTDB_GET_DB_SEQNUM - fetch a persistent db's sequence number.
tests: temporarily disable the transaction test tool.
Revert "recovery: add special pull-logic for persistent databases"
tdb: add scripts to extract library symbols (exports file) from headers
tdb: add script to extract signatures from header files.
tdb: add script/abi_checks.sh. check for abi changes without gcc magic.
One would expect I could spell my name... (cherry picked from samba commit 0d120be36bfc561e3f679d081993ccc6bea2a401)
tdb:mksyms: allow double pointer return value of functions.
tdb:mksyms: allow characters after closing functions parenthesis.
tdb:mksigs: ignore struct forward declarations.
tdb:mksigs: correctly ignode multiline function typedefs
tdb:mksigs: ignore symbols (like _DEPRECATED_) after closing function parentheses
tdb:mksigs: normalize bool -> _Bool
tdb:mksigs: allow PRINTF_ATTRIBUTE(..) macros function types as funcion args
tdb:tdbtool: add the "speed" command to the help text.
tdb:tdbtool: add transaction_start/_commit/_cancel commands.
tdb:tdbtool: fix indentation.
server:ctdb_send_dmaster_reply: fix a message typo.
fix bug #7152: check NFS-Shares, fails with to long path-names
doc: fill metainfo "manual" and "source" in the ctdb manual page
doc: add metainfo "manual" and "source" in the ctdbd manual page
doc: regenerate ctdb and ctdb manpages after xml changes
doc: fix a linebreak in the example output of "ctdb getdbmap" in ctdb(1)
doc: regenerate ctdb(1) manpages after xml change
packaging: add tdbtool and tdbdump as dependencies to the RPM
events:50.samba: wipe the local part of the serverid db before starting winbind/smnd/nmbd
tests: eliminate a floating point exception by requiring -n option to ctdb_bench
tests:ctdb_bench: make send_start_messages() static - eliminates compile warning
functions: when checking for a directory also check whether it can be accessed.
server: when we migrate off a record with data, set the MIGRATED_WITH_DATA flag
persistent_callback: ignore the update-recordreturn code of remote node in recovery
persistent_store_timout: do not really time out the trans3_commit control in recovery
persistent: if a node failed to update_record, trigger a recovery
persistent: reduce indentation for the finishing moves in ctdb_persistent_callback
persistent_callback: print "no error message given" instead of "(null)"
persistent: add a ctdb_persistent_state member to the ctdb_db context.
persistent: add a ctdb_db context to the ctdb_persistent_state struct.
persistent: allocate the persistent state in the ctdb_db struct in trans3_commit
persistent: reject trans3_control when a commit is already active.
persistent: add a client context to the persistent_stat and track the db_id
daemon: correctly end a running trans3_commit if the client disconnects.
persistent: add ctdb_persistent_finish_trans3_commits().
recover: finish pending trans3 commits when a recovery is finished.
server: add a comment explaining the call redirect logic in ctdb_call_send_redirect().
gitignore: add vi swap files
gitignore: add tags file
tests: fix segfault in randrec test when connection to daemon fails.
tests: fix segfault in fetch test when connection to ctdb failed.
tests: fix segfault in fetch_one test when connection to ctdbd fails
tests: fix segfault in store test when connection to ctdbd failed.
Fix typos in a comment in vacuum_traverse.
vacuum: in ctdb_vacuum_db, fix the length of the array of vacuum fetch lists
vacuum: correctly send TRY_DELETE_RECORDS ctrl to all active nodes
vacuum: reduce indentation of the loop sending VACUUM_FETCH controls
vacuum: check lmaster against num_nodes instead of vnn_map->size
server: when we migrate off a record with data, set the MIGRATED_WITH_DATA flag
recoverd: in a recovery, set the MIGRATED_WITH_DATA flag on all records
call: add new call flag CTDB_CALL_FLAG_VACUUM_MIGRATION
call: Move definition of call flags down to the definition of the flags field.
add a new record flag CTDB_REC_FLAG_VACUUM_MIGRATED.
server: in the VACUUM_FETCH handler, add the VACUUM_MIGRAION to the call flags
call: transfer the record flags in the ctdb call packets.
call: hand the submitted record_flags to local record storage function.
call: becoming dmaster in VACUUM_MIGRATION, set the VACUUM_MIGRATED record flag
Add a delete_queue to the ctdb database context struct.
When attaching to a non-persistent DB, initialize the delete_queue.
vaccum: clear the fast-path vacuuming delete_queue after creating the vacuuming child.
When wiping a database, clear the delete_queue.
server: rename ctdb_repack_db() to ctdb_vacuum_and_repack_db()
vacuum: refactor new add_record_to_vacuum_fetch_list() out of vacuum_traverse().
vacuum: skip adding records to list of records to send to lmaster on lmaster
vacuum: refactor new add_record_to_delete_tree() out of vacuum_traverse().
vacuum: reduce indentation in add_record_to_delete_tree()
vacuum: add delete_queue_traverse() for traversal of the delete_queue.
vacuum: traverse the delete_queue befor traversing the database.
Add a tunable VacuumFastPathCount.
vacuum: add a fast_path_count to the vacuum_handle.
vacuum: bump the number of fast-path runs in the vacuum child destructor
vacuum: reset the fast path count in the event handle if it exceeds the limit.
vacuum: Only run full vacuumig (db traverse) every VacuumFastPathCount times.
vacuum: disable full db-traverse vacuuming runs when VacuumFastPathCount == 0
vacuum: change all Vacuum*Interval tunables to default to 10
vacuum: refactor insert_delete_record_data_into_tree() out of add_record_to_delete_tree()
vacuum: add statistics output to the fast and full traverse runs.
vacuum: lower level of hash collision debug message to INFO
control: add macro CHECK_CONTROL_MIN_DATA_SIZE.
control: add a new control opcode CTDB_CONTROL_SCHEDULE_FOR_DELETION
server: implement a new control SCHEDULE_FOR_DELETION to fill the delete_queue.
vacuum: add ctdb_local_schedule_for_deletion()
client: add accessor function ctdb_header_from_record_handle().
test: send SCHEDULE_FOR_DELETION control from randrec test.
daemon: fill ctdb->ctdbd_pid early
server: create a server variant ctdb_ltdb_store_server() of ctdb_ltdb_store().
server: Use the ctdb_ltdb_store_server() in the ctdb daemon for non-persistent dbs
ctdb_ltdb_store_server: delete an empty record that is safe to delete instead of storing locally.
ctdb_ltdb_store_server: implement fastpath vacuuming deletion based on VACUUM_MIGRATED flag.
ctdb_ltdb_store_server: always store the data when ctdb_ltdb_store() is called from the client
ctdb_ltdb_store_server: Improve debug message in ctdb_ltdb_store when store or delete fails.
ctdb_ltdb_store_server: add ability to send SCHEDULE_FOR_DELETION control to ctdb_ltdb_store.
ctdb_private.h: add record flag CTDB_REC_FLAG_AUTOMATIC
ltdb: add the CTDB_REC_FLAG_AUTOMATIC to the initial header in ctdb_ltdb_fetch()
ctdb_ltdb_store_server: honour the AUTOMATIC record flag
vacuum: raise a debug level from INFO to DEBUG
vacuum: refactor insert_record_into_delete_queue out of ctdb_control_schedule_for_deletion
vacuum: use insert_record_into_delete_queue in ctdb_local_schedule_for_deletion.
vacuum: fix a comment typo
ctdb.init: check for availability of "tdbtool check" and "tdbdump"
ctdb.init: print a warning when tdbdump is found but tdbtoo or "tdbtool check" is not available
packaging: remove the dependency to tdbtool and tdbdump from the spec file
build "ltdbtool" in "make all"
install ltdbtool with "make install"
install the ltdbtool manpage with "make install"
packaging: add ltdbtool and its manpage to the RPM
doc: regenerate ctdb docs
web: add Stefan Metzmacher to the list of CTDB developers.
web: correctly terminate list items <li> with </li> instead of with <br>
packaging: honour rpm build target options handed in to makerpms.sh
tools/ctdb: fix a typo in a debug message
Add a tunable "AllowClientDBAttach" with default value 1.
Fix a typo in a message in ctdb backupdb.
doc: update compiled manpages of ctdb.1 after change to xml
logging: properly cast sockaddr_in to sockaddr for bind in start_syslog_daemon()
logging: some whitespace cleanup in ctdb_syslog_log()
logging: properly cast sockaddr_in to sockaddr for sendto() in ctdb_syslog_log()
system_linux: correctly cast sockaddr_in to sockaddr in ctdb_sys_send_tcp()
system_linux: correctly cast sockaddr_in6 to sockaddr for sendto() in ctdb_sys_send_tcp()
update lib/replace to current upstream version (samba master)
build: add libreplace network checks to configure
add socket_wrapper from samba
build: add option --enable-socket-wrapper to build binaries with socket wrapper support
build: add socket_wrapper objects to test binaries
build: add target libctdb.so.0 and symlink libctdb.so
vacuum: rename "size" to "freelist_size" for clarity
vacuum: fix an abundance of indentation white spaces in ctdb_vacuum_db()
vacuum: fix a comment typo in vacuum_traverse()
vacuum: fix horrible indentation/whitespacing for ctdb_vacuum_event()
vacuum: fix a comment typo in vacuum_traverse()
vacuum: write a big and up-to-date explaining comment for ctdb_vacuum_db()
vacuum: update (C) from vacuum rewrite
traverse: add a flag to enable transferring empty records in cluster wide traverse
client: add version ctdb_traverse_ext() of ctdb_traverse() that can list empty records.
ctdb: add an option --print-emptyrecords to enable printing of empty records in dumping databases
doc: document the --print-emptyrecords switch in the "ctdb" manpage.
doc: commit generated ctdb.1 manpages after xml change
ctdb: add an option --print-datasize to only print datasize instead of dumping data in db dumps
doc: document the "--print-datasize" parameter to "ctdb"
doc: commit generated ctdb.1 manpages after xml change
ctdb: add an option --print-lmaster to enable printing of lmaster in "ctdb catdb"
doc: document the "--print-lmaster" parameter to "ctdb"
doc: commit generated ctdb.1 manpages after xml change
ctdb: add an option --print-hash to enable printing of record hashes when dumping dbs
doc: document the "--print-hash" parameter to "ctdb".
doc: commit generated ctdb.1 manpages after xml change
ctdb: add an option --print-recordflags to trigger printing record flags in catdb and dumpdbbackup
doc: document the "--print-recordflags" parameter to "ctdb"
doc: commit generated ctdb.1 manpages after xml change
traverse: fix traversing with empty records by adding a new (internal) control CTDB_CONTROL_TRAVERSE_START_EXT
Revert "Fix the build that broke in 8281bb210858ed04992eacea7f6d02261e0fc1b1"
libctdb: fix libctdb's traverse after changes in the core
fix zero-initialization of header in _ctdbd_allocate_pkt to the correct size
rb_tree: fix possible access-after-free-error in trbt_traversearray32_node
vacuum: add ctdb_local_remove_from_delete_queue()
ctdb_ltdb_store_server: when storing a record that is not to be scheduled for deletion, remove it from the delete queue
vacuum: remove update_tuning_db()
vacuum: change get_vacuum_interval() to simply return the VacuumDefaultInterval tunable
vacuum: use get_vacuum_interval() in ctdb_vacuum_event()
vacuum: remove struct vacuum_tuning_data (unused)
vacuum: add new tunable VacuumInterval and mark Vacuum{Default,Min,Max}Interval obsolete
vacuum: fix the VacuumInterval tunable's type to uint32_t in get_vacuum_interval()
vacuum: initialize the delete_count in the vacuum data
vacuum: appropriately rename delete_traverse() to delete_marshall_traverse()
vacuum: fix and improve a comment
vacuum: improve vacuuming statistics for handling the delete_tree.
vacuum: locally delete the records in the delete_tree that have be deleted remotely
tools/ctdb: remove functionality of "ctdb vacuum", just keeping a stub.
tools/ctdb: allow the "ctdb vacuum" stub to be run without the daemon running.
vacuum: introduce a helper variable in add_record_to_vacuum_fetch_list() to reduce verbosity
vacuum: introduce a helper variable for the vacuum fetch list in ctdb_vacuum_db()
vacuum: appropriately rename vdata.list to vdata.vacuum_fetch_list
vacuum: rename delete_tree to delete_list
vacuum: factor out the fast vacuuming run into ctdb_vacuum_db_fast()
vacuum: factor out full vacuum run out of ctdb_vacuum_db() as ctdb_vacuum_db_full()
vacuum: factor processing of vacuum fetch lists out of ctdb_vacuum_db()
vacuum: factor processing of the delete list out of ctdb_vacuum_db()
vacuum: streamline ctdb_process_delete_list()
vacuum: factor out initialization of the vacuum data from ctdb_vacuum_db()
vacuum: add a comment explaining a race in the vacuum code.
tunables: add a bool obsolete flag to the tunable_map list
tunables: don't list obsolete tunables in the list_tunables control
ctdb-tool: adapt formatting of "listvars" output to lenght of longest name
doc:ctdb.1: adapt example output of "ctdb listvars" to current state
doc:ctdb.1: explain that "ctdb listvars" does not list obsolete tunables any more
doc:ctdb.1: add generated files after update
vacuum: add statistics output for processing of the delete list
vacuum: initialize (to zero) the vacuum fetch list in ctdb_vacuum_init_vacuum_data()
vacuum: improve debugging in insert_record_into_delete_queue()
vacuum: add debug message to insert_record_into_delete_queue() for failed insert
vacuum: improve debugging in delete_queue_traverse()
vacuum: improve logging in insert_record_into_delete_queue()
vacuum: improve logging in delete_record_traverse()
vacuum: improve logging in remove_record_from_delete_queue()
server: fix a comment typo
Fix the build on freebsd9. (typo in flags?)
server: move the code for the update_record control to its own file
server:update_record: make ctdb_childwrite static
server:update_record: remove some blood stains (trailing spaces...)
ctdb: use correct "persistent" state for ctdb_attach in "ctdb cattdb"
run_tests.sh: fix a comment
run_tests: improve spacing
config/functions: fix a comment
vacuum: fix a comment typo
recoverd: fix a comment typo
recovery: data corruption of persistent DBs after recoveries: don't delete emtpy records
utils:ping_pong: add a -c switch to check the lock before reading/writing
events/50.samba: fix testparm background update
ctdb:recover: fix a comment typo
server:persistent: fix a comment typo.
server:persistent: fix a debug message (copy'n'paste error)
build: silence building of porting_test
recoverd: remove bogus comment "qqq" from "add prototype new banning code"
ctdbd: unimplement the unused SET_DMASTER control
logging: fix comment typo
Fix a severe recovery bug that can lead to data corruption for SMB clients.
ctdb_call: don't bump the rsn in ctdb_become_dmaster() any more
tests: add a comment to recovery db corruption test
client: fix ctdb_control() to be able to cope with CTDB_CTRL_FLAG_NOREPLY
vacuum: break line for RO-flags check in delete_record_traverse() for readability
vacuum: add DEBUG to skip conditions in delete_record_traverse()
vacuum: simplify ctdb_process_delete_list(): reduce indentation
vacuum: move variable into scope of use in ctdb_process_delete_list()
vacuum: move variable into scope of use in ctdb_process_delete_list()
vacuum: free temporary allocated memory correctly in ctdb_process_delete_list().
vacuum: fix indentation in ctdb_process_delete_list()
vacuum: add explicit temporary memory context to ctdb_process_delete_list()
vacuum: reorder some of ctdb_process_delete_list() more intuitively
vacuum: introduce the RECEIVE_RECORDS control
vacuum: turn the vacuuming on lmaster into a three-phase process.
vacuum: extend the header comment for ctdb_process_delete_list()
vacuum: Update (C)
include: define CTDB_REC_RO_FLAGS - all read-only related record flags
ltdb_server: use CTDB_REC_RO_FLAGS where appropriate
vacuum: use CTDB_REC_RO_FLAGS in the vacuuming code
ctdb_call: use CTDB_REC_RO_FLAGS where appropriate
ctdb_daemon: use CTDB_REC_RO_FLAGS where appropriate
recover: use CTDB_REC_RO_FLAGS where appropriate
ctdbd: update comment describing ctdb_call_send_redirect()
ctdbd: remove a nonempty blank line
ctdbd: fix comment explaining redirection of CTDB_REQ_CALL redirection.
recoverd: eliminate some trailing spaces from ctdb_election_win()
recoverd: fix a comment in main_loop
recoverd: fix a comment typo
recoverd: when the recmaster is banned, use that information when forcing an election
server: fix wording and punctuation in comment block for ctdb_reply_dmaster().
server: standardize formatting of comment block for ctdb_reply_dmaster() while I'm at it..
util: In passing the code, fix a space vs. tab in set_close_on_exec().
server: standardize formatting of comment block for ctdb_reply_dmaster() while I'm at it..
loadparm: add new parameter "acl allow execute always"
s3:smbd: ease file server upgrades from 3.6 and earlier with "acl allow execute aways"
docs: document "acl allow execute always"
auth: fix space/tab mixup in cli_credentials_get_password()
s4:torture: remove and useless variable and assignment in smb2.session.reauth5
build: reorganize idmap_rw and idmap_tdb int subsystems with proper dependencies
build: remove vars=locals() from the IDMAP_AD subsystem: there is no need for this
build: clean the idmap sybsystems/modules definitions
build: remove vars=locals() from the IDMAP_HASH subsystem: there is no need for this
build: remove vars=locals() from the nss_info library: there is no need for this
build: fix spacing in the definition of the "idmap_autorid" target
build: fix spacing in definition of "idmap_ldap" module
build: list sources directly in the netapi library and remove vars=locals()
build: list sources of smbclient directly in the definition
build: list sources of nmbd directly in the definition and remove vars=locals()
build: list sources directly in smbldap library and remove vars=locals()
build: list sources directly in definition of SAMBA_VERSION, and remove vars=locals()
build: list sources directly in the definition of LIBAFS subsystem and remove vars=locals()
build: list sources directly in def of LIBAFS_SETTOKEN subsystem and remove vars=locals()
build: LIBAFS depends on LIBAFS_SETTOKEN
build: make TDB_VALIDATE its own subsystem and have winbindd depend on it
build: list winbindd sources in definition and remove vars=locals()
build: define a subsystem TDB_LIB from TDB_LIB_SRC and depend on in sin samba3core
build: list LIB_SRC files directly in samba3core.
build: list source of subsystem AVAHI directly in its definition.
build: list source of subsystem SERVER_MUTEX directly in its definition
build: list source of subsystem PASSCHANGE directly in definition and remove vars=locals()
build: list sources of cli_spoolss directly in the definition.
build: list sources of library libcli_lsa3 directly in the definition
build: list sources of subsystem LIBCLI_SAMR directly in the definition
build: list sources of libcli_netlogon3 library directly in the definition
build: split REG_PARSE_PRS as subsystem and list sources of REGFIO directly.
build: list sources of subsystem samba3util directly in definition and remove vars=locals()
build: list source of library popt_samba3 directly in definition and rm vars=locals()
build: list source of subsystem PARAM_UTIL directly in definition and remove vars=locals()
build: list source of subsystem param directly in definition
build: list source of subsystem KRBCLIENT directly in defintion, removing vars=locals()
build: list sources of library gpo directly in definition, removing vars=locals()
build: list sources of library ads directly in sources, removing vars=locals()
build: list sources of subsystem LIBADS_SERVER directly in def, removing vars=locals()
build: list source of subsys LIBADS_PRINTER directly in def, removing vars=locals()
build: list sources of lib secrets3 directly in def, removing vars=locals()
build: list sources of subsys LIBNMB directly in def, removing vars=locals()
build: list sources of subsys LIBNTLMSSP in definition, removing vars=locals()
build: list sources of subsys TLDAP directly in definition
build: list sources of library libsmb directly in def, also removing vars=locals()
build: list sources of lib msrpc3 directly in def, removing vars=locals()
build: list sources of lib smbregistry directly in def, remove vars=locals()
build: list sources of subsys REG_SMBCONF directly in def, remove vars=locals()
build: list sources of subsys REG_FULL directly in def, remov vars=locals()
build: list sources of REG_API_REGF directly in def, remove vars=locals()
build: list sources of SERVICES directly in def, remove vars=locals()
build: list source of subsys LIBEVENTLOG directly in definition, remove vars=locals()
build: list source of subsys RPC_CLIENT_SCHANNEL direclty in def, remove vars=locals()
build: list sources of subsys LOCKING directly in def, remove vars=locals()
build: list sources of lib pdb directly in def, removing vars=locals()
build: list source of subsys GROUPDB direclty in def
build: list source of subsys PROFILE directly in definition
build: list sources of binary profiles directly in def, remov vars=locals()
build: list sources of library smbd_base directly in def, remove vars=locals()
build: list source of FNAME_UTIL directly in def, remove vars=locals()
build: list sources of subsys PLAINTEXT_AUTH directly in def, remove vars=locals()
build: list sources of subsys SLCACHE directly in def, remove vars=locals()
build: list sources of subsys DCUTIL directly in def, remove vars=locals()
build: list source of binary smbd/smbd diectly in def, remove vars=locals()
build: list sources of subsys PRINTING directly in def, remove vars=locals()
build: list sources of subsys PRINTBASE directly in def, remove vars=locals()
build: list sources of subsys PRINTBACKEND direclty in def, remove vars=locals()
build: list sources of binary smbstatus directly in def, remove vars=locals()
build: list sources of binary smbcontrol directly in sources, remove vars=locals()
build: list sources of smbtree direclty in def, remove vars=locals()
build: list source of binary testparm directly in dev, remove vars=locals()
build: list sources of binary smbta-util directly in def, removing vars=locals()
build: list sources of binary test_lp_load directly in def, remove vars=locals()
build: list source of subsys PASSWD_UTIL directly in def, remove vars=locals()
build: list source of binary smbpasswd directly in def, remove vars=locals()
build: list source of binary pdbedit directly in def, remove vars=locals()
build: list source of binary smbget directly in def, remove vars=locals()
build: list sources of binary rpcclinet directly in def, remove vars=locals()
build: remove unused variable LIBSMBCLIENT_THREAD_SRC
build: list sources of library smbsharemodes directly in def, remov vars=locals()
build: list sources of libsmbconf directly in def.
build: list sources of binary smbconftort directly in def, remove vars=locals()
build: list source of subsys LIBNET directly in def, remove vars=locals()
build: list source of subsys LIBNET_DSSYNC directly in def, remove vars=locals()
build: list sources of subsys LIBNET_SAMSYNC directly in dev, remove vars=locals()
build: list sources of binary net directly in def, remove vars=locals()
build: list source of binary smbspool directly in def, remove vars=locals()
build: list source of binary nmblookup directly in source, remove vars=locals()
build: list sources of smbtorture(3) directly in dev, remove vars=locals()
build: list source of binary msgtest direcly in def, remove vars=locals()
build: list source of binary pdbtest directly in def, remove vars=locals()
build: list sources of binary vfstest directly in def, remove vars=locals()
build: list source of binary log2pcap directly in def, remove vars=locals()
build: list source of binary locktest2 directly in def, remove vars=locals()
build: list source of binary smbcacls directly in def, remove vars=locals()
build: list source of binary smbcquotas directly in def, remove vars=locals()
build: list source of binary eventlogadm directly in def, remove vars=locals()
build: list source of binary sharesec() directly in def, remove vars=locals()
build: list sources of binary debug2html directly in def, remove vars=locals()
build: list source of binary smbfilter directly in def, remove vars=locals()
build: list sources of library nss_wins directly in dev
build: list sources of binary ntlm_auth directly in dev, remove vars=locals()
build: list source of binary vlp directly in dev, remove vars=locals()
build: list source of binary rpc_open_tcp directly in dev, remove vars=locals()
build: list source of binary dbwrap_tool directly in def, remove vars=locals()
build: list source of dbwrap_torture directly in def, remove vars=locals()
build: list source of binary split_tokens directly in def, remove vars=locals()
build: remove remaining occurrences of vars=locals() of source3/wscript_build
afs: format afs_syscall() properly
afs: implement afs_syscall() always, returning -1 if FAKE_KASERVER is not defined.
s3:include: remove duplicate prototypes from afs functions from proto.h
s3:modules: vfs_afsacl has the afs_syscall prototype via proto.h
libsmbconf:registry: rework smbconf_reg_parameter_forbidden(), renaming it.
libsmbconf:registry: publish smbconf_reg_parameter_is_valid()
s3:net rpc conf: use the published smbconf_reg_parameter_is_valid()
s3:net rpc conf: remove the (now) unused rpc_conf_reg_valname_forbidden()
s3:net rpc conf: print the provided parameter name on error, not the canonicalized one
libsmbconf:registry: reorganize the validity check and canonicalization of the input in "setparm"
libsmbconf:registry: clarify the appearance of "includes" in forbidden_names
s3:net rpc conf: reorganize the validity check and canonicalization of the input in "setparm"
s3:net rpc conf: setparm: introduce variables service_name, param_name, valstr for clarity
s3:net rpc conf: rename canon_valname->canon_param_name for clarity in setparm.
s3:net rpc conf: factor validation of parameter out for re-use.
s3:net: check for GLOBAL_NAME net_conf_param_valid()
s3:net conf: add the same parameter checks to "setparm" as in "net rpc conf".
selftest: remove unused variables (copy'n'paste...) from test_net_conf.sh
selftest: update SED_INVALID_PARAMS in the registry.roundtrip test
selftest: add regression test for setting invalid parameters in registry config via "net [rpc] conf"
selftest: add "state directory" to the forbidden parameters test in net conf
selftest: include "state directory" in invalid parameters in registry roundtrip test
libsmbconf:registry: add "state directory" to the list of forbidden parameters
build: get rid of source file variables in source3/modules/wscript_build
build: get rid of source-variables in source3/auth/wscript_build
build: get rid of vars=locals() in source3/auth/wscript_build
build: get rid of source variables and vars=locals() in source3/libgpo/gpext/wscript_build
build: get rid of source strings from source3/passdb/wscript_build
build: get rid of source variables and vars=locals() in source3/rpc_server/wscript_build
build: get rid of vars=locals() in source3/modules/wscript_build
build: get rid of vars=locals() in source3/lib/netapi/examples/wscript_build
idmap_autorid: add a db_context argument to idmap_autorid_get_domainrange()
idmap_autorid: add a db_context argument to idmap_autorid_loadconfig()
idmap_autorid: add a db_context argument to idmap_autorid_saveconfig()
idmap_autorid: add a db_context argument to idmap_autorid_init_hwm()
idmap_autorid: remove the ignore_builtin bool from the global_config struct
idmap_autorid_tdb: add idmap_autorid_getconfigstr()
idmap_autorid: refactor idmap_autorid_loadconfig to use idmap_config_getconfigstr
idmap_autorid: rename TALLOC_CTX argument of idmap_autorid_loadconfig() to mem_ctx
idmap_autorid: refactor idmap_autorid_parse_configstr() out of idmap_autorid_loadconfig()
idmap_autorid: change idmap_autorid_loadconfig() to return NTSTATUS
idmap_autorid: improve idmap_autorid_saveconfig() by adding a talloc stackframe
idmap_autorid: factor building of the keystr into a function
idmap_autorid: improve a debug message in idmap_autorid_getrange_int()
idmap_autorid: add idmap_autorid_getrange()
idmap_autorid: factor out domain range adding code into a separate function
idmap_autorid: add new function idmap_autorid_setrange()
idmap_autorid: for clarity, add a wrapper idmap_autorid_acquire_range() to idmap_autorid_addrange()
idmap_autorid: fix a debug message in idmap_autorid_addrange()
idmap_autorid: improve two debug messages by printing NT error codes
idmap_autorid: Don't use db as a temporary talloc context.
idmap_autorid: add a comment explaining idmap_autorid_get_domainrange()
idmap_autorid: add a comment explaining idmap_autorid_init_hwm()
idmap_autorid: add a comment explaining idmap_autorid_db_init()
idmap_autorid: add a comment explaining idmap_autorid_loadconfig()
idmap_autorid: add a comment explaining idmap_autorid_saveconfig()
net: improve help text for "net idmap dump"
net: improve help text for "net idmap restore"
net: rename "net idmap setmap" to "net idmap set"
net: move the "net idmap set" functionality to subcommand "net idmap set mapping"
net: add the "net idmap set secret" subcommand as alias for "net idmap secret"
net: move the "net idmap delete" functionality to subcommand "net idmap delete mapping"
net: rename "idmap_dump_ctx" to "net_idmap_ctx".
idmap_autorid: add idmap_autorid_saveconfigstr()
net: add "net idmap get" command
net: add "net idmap set range" (for autorid backend)
idmap_autorid: improve clarity of idmap_autorid_addrange_action() by adding mem_ctx.
net: implement "net idmap get range"
idmap_autorid: extend idmap_autorid_addrange to allow to set mappings below the HWM
idmap_autorid: add idmap_autorid_build_keystr_talloc()
idmap_autorid: add idmap_autorid_delete_range_by_sid()
idmap_autorid: add idmap_autorid_delete_range_by_num()
net: implement "net idmap delete range"
idmap_autorid: add idmap_autorid_iterate_domain_ranges[_read]()
net: add "net idmap get ranges" operation for autorid
idmap_autorid: add idmap_autorid_delete_domain_ranges()
net: implement "net idmap delete ranges"
idmap_autorid: allow iterate functions to operate on all domain ranges
net: allow "net idmap get ranges" to list all ranges
smbd:smb2: fix error code when the header says the request is signed but we don't have a sesseion
shadow_copy2: break overly long lines in shadow_copy2_snapshot_to_gmt()
shadow_copy2: add comment header describing shadow_copy2_strip_snapshot()
shadow_copy2: add header comment explaining have_snapdir()
shadow_copy2: add comment block explaining shadow_copy2_find_snapdir()
shadow_copy2: add comment block explaining shadow_copy2_insert_string()
shadow_copy2: add comment block explaining shadow_copy2_convert()
shadow_copy2: add comment explaining the SMB level GMT format pattern
shadow_copy2: introduce config struct and function shadow_copy2_connect()
shadow_copy2: introduce the bool "snapdir_absolute" in the config.
shadow_copy2: disable "snapdir:crossmountpoints" if the snapdir is absolute.
shadow_copy2: re-add the basedir option.
shadow_copy2: introduce "shadow:mountpoint" option
shadow_copy2: add rel_connectpath to config.
shadow_copy2: add snapshot_basepath to the config.
shadow_copy2: log resulting config at the end of shadow_copy2_connect()
shadow_copy2: implement disk_free
shadow_copy2: in the classical case, use configured path in shadow_copy2_find_snapdir()
shadow_copy2: make shadow_copy2_find_snapdir() return const char *
shadow_copy2: shadow_copy2_insert_string(): do not prepend a "/" in absolute mode
shadow_copy2: factor shadow_copy2_posix_gmt_string() out of shadow_copy2_insert_string()
shadow_copy2: introduce shadow_copy2_snapshot_path()
shadow_copy2: add comments explaining decisions in shadow_copy2_strip_snapshot()
shadow_copy2: add some debug to shadow_copy2_strip_snapshot()
shadow_copy2: fix shadow_copy2_strip_snapshot() in the classical case
shadow_copy2: initialize "converted" string to null in shadow_copy2_convert()
shadow_copy2: add some blank lines for visual separation to shadow_copy2_convert()
shadow_copy2: fix shadow_copy2_convert() in the classical case.
shadow_copy2: improve debug in shadow_copy2_convert() in snapdirseverywhere mode
shadow_copy2: use stored mount_point instead of recalculating.
s4:torture:smb2: fix a comment in the durable-open.lock-oplock test
s4:torture:spoolss: use smb2_connect() instead of smb2_connet_ext()
s4:libcli:smb2: add the client_guid to the smbcli_options
s4:libcli:smb2: add the smb2_capabilities to the smbcli_options
s4:libcli:smb2: make smbcli_options argument to smb2_connect_(send|ext) const
s4:torture:smb2: add smbcli_options argument to torture_smb2_connection_ext()
s4:torture:smb2: fix durable-open lease tests to pass against windows.
s4:torture:smb2: add durable-open.reopen2-lease test
s4:torture:smb2: add durable-v2-open.reopen2-lease
s4:torture:smb2: add smb2_lease_v2_create() wrapper to smb2_lease_v2_create_share()
s4:torture:smb2: add durable-v2-open.reopen2-lease-v2
s4:torture:smb2: add a durable-open.reopen-lease-v2 test
smbd:smb2_create: add comment about validity of check reconnect blob being only one
smbd:smb2: successfully answer a DHnC request when the initial create was DH2Q
s4:torture:smb2: extend the durable-v2-open.reopen2 test
s4:torture:smb2: extend the durable-open.reopen2 test
s4:torture:smb2: add durable-v2-open.create-blob
s4:torture:smb2: add durable-v2-open.reopen2b
s4:torture:smb2: add durable-v2-open.reopen2c
smbd:smb2_create: fix return code for durable handle create blob combinations
smbd:smb2: ignore an dhnq blob along with a dhnc in create
smbd:smb2: clarify and comment code treating dh2c blob check.
smbd:smb2: fix crash when smb2 session reauth fails
libcli/smb: add smb2cli_tcon_is_encryption_on()
s4:torture: add smb2.session.reauth6 : test failing reauth
s3: add cluster_probe_ok() in a new module util_cluster.
s3:smbd: use new function cluster_probe_ok()
s3:winbindd: use cluster_probe_ok()
s3:nmbd: do a very early cluster probe when starting nmbd.
idmap_autorid: fix traversal of ranges to correctly exclude mapping records.
ctdb_client.h: fix build on AIX by removing C++-style comments
build: fix ordering problems with lib-provided and internal RPATHs
idmap_autorid: fix status code when trying to load range for an invalid input
s4:torture:smb2: add comment explaining lease upgrade in the non-contended case
s4:torture:smb2: add new lease.upgrade3 test to test the contended upgrade
rpcclient: fix output of lsalookupsids for sids of type DOMAIN
wbinfo: fix ouptput of --lookup-sids for sids of type DOMAIN
wbinfo: fix output of "--lookup-sids" to use the configured winbind separator
wbinfo: fix output of wbinfo --sid-to-name for sids of type DOMAIN
s4:rpc-server: fix use after free in dcesrv_lsa_lookup_sid()
s4:rpc-server: fix lsa_lookupsids return value for the domain sid
autobuild: add a "ctdb" target
autobuild: extend samba-ctdb target to build ctdb, too
random-sleep: add possiblity to override via environment variable
testparm: don't warn for TCP_NODELAY in socket options.
ctdb:tests: remove old now unused script test/recover.sh
ctdb:tests: add path of ip command to extra output in the error case
ctdb:tests: ignore SIGPIPE in unit tests
ctdb:tests: in the stub ip command, avoid broken pipe by using echo instead of cat
ctdb:tests:76_ctdb_pdb_recovery: fix a typo in a message
ctdb:tests:76_ctdb_pdb_recovery: fix a typo in a message
ctdb:tests:76_ctdb_pdb_recovery: change from using ctdb pstore to ctdb ptrans.
ctdb:test: remove unused ip2ipmask from integration.bash
autobuild: build the "ctdb" target with socket-wrapper enabled
ctdb:tests: in the stub "ip link show" command use echo instead of cat
ctdb:tests: update README
s4:torture:smb2: add new durable-open.reopen1a test
s4:torture:smb2: add new durable-v2-open.reopen1a test
s3:module:shadow_copy2: add my (C)
s3:modules:shadow_copy2: improve headline comment
s3:modules:shadow_copy2: remove redundant documentation comment block
docs: update the manpage of vfs_shadow_copy2
ctdb:build: install the new manpages
ctdb:packaging:RPM: package the new manpages
ctdb:packaging:RPM: don't run autogen.
lib:util: fix a comment typo
shadow_copy2: revert expensive and unnecessary zero-initialization
shadow_copy2: add a comment explaining why we don't talloc_zero_array().
Nadezhda Ivanova (7):
s4-openldap: Added an -H option to delegation script
s4-openldap: Remove use of talloc_reference in ldb_map_outbound.c
s4-openldap: Restored openldap-related options to the provision script
s4-samldb: Do not allow deletion of objects with RID < 1000
s4-dsacl: Fixed incorrect handling of privileges in sec_access_check_ds
s4-openldap: Fixed a problem with provisioning with OpenLdap
s4-dsdb: instanceType NC_HEAD is only allowed combined with WRITE for an originating add operation
Noel Power (2):
handle later iniparser version assigning a zero length string value for 'key='
fail authentication for single group name which cannot be converted to sid
Pavel Reichl (1):
ldb: use of NULL pointer bugfix
Peter Somogyi (58):
Added infiniband transport implementation(incomplete) and interface.
Just testing the bzr e-mail plugin...
Implementing basic data structure handling...
Using samba DLIST helper macro set.
Testing e-mail notification...
bzr email plugin test
Added some event handling (incomplete)...
Implemented cm usage.
Rough implementation of buffer handling.
Raw implementation done.
Using struct <type> instead of typedefs.
Made ibwrapper compilable.
Raw impl. of ibwrapper test tool.
Made infiniband support configurable.
Added checks for ib libs and headers
Modified send logic to allow large messages.
Made receiver handle partial packets.
Added send queue.
Added trace messages + several fixes
Joining ctdb and ibwrapper (incomplete).
+1 ibw function +1 bugfix
bugfix in ibw_send
ibw: modified tridge's code - in my point of view
1st "working" ib version.
Merged tridge's branch.
Fixed a side effect of previous revert.
Adjusted ib test tool #1.
Adjusted debug level and test scenario.
Added overload test scenario + fixed 1 send queue bug.
merging tridge's code...
2 bugfixes
Added variable msg size scenario.
ib: fragment sent buf + many bugfixes
merged tridge's code
ib: adjustment of a test scenario
Merged tridge's code.
Some minor changes before integrating ib...
ib: a trivial approach of integration
1st working ib integrated ctdb
merged tridge's fix
workaround proposal for the initialization-problem
merged tridge's code
ib: added external send queue to workaround downtime
ib: test scenario was wrong
merged tridge's branch
Merged tridge's ctdb branch.
- ctdb/ib minor bugfixes (error case)
Simplified code in ctdb_init_transport.
merged tridge's branch
removing my dirt from tridge's code
use talloc_vasprintf
fixed ctdb/ib bug at reject event
made ofed-1.0 (and 1.1) compatible + fixed warnings
merged tridge's branch
merged tridge's branch
ctdb/ib: reduce debug output; allow not only ip
ctdb/ib: swapped ibwrapper_tets options (-d, -a, -g)
fixed prev. ibwrapper_test options
Ralph Wuerthner (1):
ethtool does not support virtio_net devices.
Ronnie Sahlberg (1712):
merge from tridge
merge from tridges tree
merge from tridge
merge from tridge
merge from tridge
merge from tridge
add a comment that sometimes sending remote calls straight to the
split the 32bit idr field into two.
add pdu's that the client can use to query the ctdb daemon of the path
add a mapping table from a hash value to a lmaster vnn number
merge from tridge
add a control to read the vnnmap configuration from a node
add a new control : SETVNNMAP to set the generation id and also the vnn
add a special VNN that means "all" nodes so that a message can be
merge from tridge
make srvid 64 bits instead of 32 bits
add a generation field to the pdu header.
clients should not fill in "generation" nor be aware of what generation
ctdb will now verify that the generation id for all CTDB_REQ_CALLs that
merge from tridge
you cant dereference ctdb->vnnmap in the client since it is null in hte
add a control to pull the database list from a remote node
add a few more controls that are useful for debugging a cluster
print vnn as decimal instead of hex
merge with tridge
add a control to read an entire tdb from a node including
add a new control to set all records in a database to a new dmaster
control to delete all records in a database
implement a control to pull a database from a remote node
add a new "recovery mode" field to ctdb.
merge from tridge
add push/pull of tdb and a control to copy a tdb from one node to
add an initial recovery control to perform samba3 style recovery
fix a bug in pushdb control.
specify which node to perform recovery to when using the recovery
merge with tridges tree to resolve all conflicts
update some calls to ctdb_control() that were still using the old
change the getnodemap control to a more consistent output for whether a
remove test code in the fetch test to keep the daemons running forever
add a control to create a database
remove sleep from the fetch test
discard REQ/REPLY DMASTER when generation id is wrong or when in
add a recover test change alignment for the pull/push db structures
recover.sh test script that build a few database and populates them with
do a real recovery by killing a node and then calling the recover
merge from tridge
merge from tridge
merge from tridge
break set/get vnn map out from ctdb_control and put it in ctdb_recover.c
fixup getdbmap control so it looks a bit nicer
cleanup getnodemap
merge from tridge
cleanup the control "write record"
merge from tridge
start working on a recovery daemon
ctdb_control should use the provided timeout and not hardcode to 1.0
change the signature for ctdb_ctrl_getnodemap() so that a timeout
update getvnnmap control to take a timeout parameter
merge from tridge
also verify that the generation id is the same on all the nodes and if
recovery daemon
remove a exit from the test script
merge from tridge
merge from tridge
merge from tridge
split the vnn broadcast address into two
merge from tridge
add a control to get the pid of a daemon.
merge from tridge
add support in catdb to dump the content of a specific nodes tdb instead
in the recover test
update to rhe recovery daemon
hte timed_out variable needs to be static and can not be on the stack
add a ifdeffed out block to the call.
dont use arrays where a uint32_t works just as well
dont allocate arrays where we can just return a single integer
break out the setting/clearing of recovery mode into a dedicated helper
add a helper function to create all missing remote databases detected
create a helper function to make sure the local node that does recovery
create a helper function for recovery that pulls and merges all remote
break the code that repoints dmaster for all local and remote records
add an extra blank line
create a helper function for recovery to push all local databases out
break out the code to update all nodes to the new vnnmap into a helper
change a lot of printf into debug statements
update a comment to be more desciptive
add a test in the function that checks whether the cluster needs
add new controls to get and set the recovery master node of a daemon
recovery daemon with recovery master election
it now works to talloc_free() the timed event if we no longer want it to
hang the timeout event off state and thus we dont need to explicitely
merge from tridge
fix alignment bug for pulldb
we must repoint dmaster to an invalid node during recovery to stop the
add a small tool to monitor recovery
change the name of the recovery daemon to ctdb_recoverd
add a command line flag to ctdbd to start a recovery daemon.
when we are in recovery mode and we get a REQ_CALL from a client,
hang the event from the retry structure instead of the hdr structure
merge from tridge
actually check the remote nodes and not just the local node
merge from tridge
when starting recovery repoint dmaster to an invalid node and not the
when starting a new election, also force all nodes into recovery mode so
update ctdb_control to create a correct ctdb_vnn_map->map array
create a correct vnnmap structure to prevent a segv
merge from tridge
make ctdb_control catdb work again
we must bump the rsn everytime we do a REQ_DMASTER or a REPLY_DMASTER
add a control to bump the rsn number for all records in a database
merge from tridge
we have to get a NEW generation id after completing recovery
merge from tridge
add a mising parameter to the new signature for ctdb_control
remove the control to bump the rsn since we dont need it anymore
merge from tridge
merge from tridge
merge from tridge
merge from tridge
merge from tridge
if a caller specifies a timeout when calling a control, it makes no
remove a prototype we no longer need
merge from tridge
add a control to shutdown/kill a node
we no longer pass lmaster across during pulldb so dont print it from
merge from tridge
add dead node detection so that if a node does not generate any
add a missing file :-)
merge from tridge
add a node->tx_cnt counter
increase the tx_cnt everytime we send a packet to a node
use ctdb_dead_node() instead of reimplementing the same code again
merge from tridge
add controls to enable/disable the monitoring of dead nodes
merge from tridge
add a new command for ctdb_control to trigger a recovery
merge from tridge
add controls to take over and release an ip address
new branch from tridges tree
- create /etc/ctdb/taken_ips and /etc/ctdb/changed_ips analog to the
it is -f not -x to check if a file exists
initial webpage
add a developers section
STATD_SHARED_DIRECTORY should be define din the nfs sysconfig file and
update the evens scripts for nfs and nfslock to honour CTDB_MANAGES_NFS
fix broken link to the CTDB setup page
merge from tridge
when we get a dmaster error, show the database id in the log so we can
merged with tridge
mention that ctdb offers cross cluster messaging to applications
merge from tridge
merge from tridge
print an error message to stdout if we failed to open the logfile for
ubuntu uses a different style of init scripts than redhat and suse
add a -Y option to generate machine readable output.
merge from tridge
merge from tridge
add the ip address to the nodemap structure we pull from a server and
show the second column in the machinereadable output for ctdb status as
merge from tridge
change the takoverip/releaseip controls to pass a structure containing
merge from tridge
add a control that lists all public ip addresses and which node that
merge from tridge
dont use CTDB_MANAGES_NFS for controlling the lockmanager
add a simple events script to manage vsftpd
merge from tridge
provide machinereadable output for ctdb ip
add some text about CTDB and in which scenarios it would be a good
ctdb is only a ha solution when combined with a cluster filesystem
merge from tridge
need to install the vsftpd script in make install
merge from tridge
merge from tridge
merge from tridge
merge from tridge
add a control to permanently enable/disable a node
show the disabled/permanently disabled status in the machinereadble
distribute the takenover nodes more evenly among the surviving nodes
merge from tridge
add a webpage for hot to get the code. based on the wikipage
add a page (based on the wiki) on how to build samba3 and ctdb
add a page on how to configure CTDB based on the wiki
update the names of envvars to use the CTDB_ prefix
remove CTDB_MANAGES_SAMBA from the config page. this should be in
add a page for starting and (basic) testing of ctdb based on the
merge from tridge
update the blurb for the setmonmode control it takes 0 or 1 as a
add an initial manpage for the ctdb tool
put the text in "generation" inside a para block
add a page for configuring samba
add a page on how to configure clustered nfs
add the generated manpage for ctdb so that it is available also for
fix typo
add links to how to configure samba/nfs in the samba/nfs sections
add instructions on how to set up HA-FTP using vsftpd and ctdb
show how to start the newly configured vsftpd service by disabling and
typo
merge from tridge
merge from tridge
replace the list of documentation links on the front page with a link to
create a separate list of links for the manpages
add a tiny prerequisites page stating that you need a cluster filesystem
capitalize some links
add code to unban when we become/unbecome recmaster
remove rht unban code from when we take recmaster role. we can not
unban all nodes when we release recmaster role or when we win an
should be sufficient to unban nodes when we unbecome recmaster
merge from tridge
merge from tridge
merge from tridge
initial ctdbd man page
add a link to the ctdbd man page
merge from tridge
add descriptions of the options for the ctdb command
merge from tridge
minor man page update
when public interface is not set, print this to the logfile before
merge from tridge
merge from tridge
note that there is no link on the PUBLIC interface
add a small test tool that can be used to create a massive amount of
add a mechanism to the samba event script to do periodic cleanup of the
merge from tridge
merge from tridge
merge from tridge
merge from tridge
when accepting an incoming connection, verify that the source address is
rename tnode->queue to tnode->out_queue to indicate this queue is for
add incomplete code fragments to perform SCSI PERSISTENT RESERVATION
get rid of some compiler warnings for the scsi tool
start implementing command line parsing to scsi_io to make it take
add GPL comment to scsi_io.c
merge from tridge
add more command line parsing
add a tuneable to control how long we wait after a successful recovery
initial version of a socketkiller tool
merge from tridge
ETH_P_IP does not work on my ubuntu system so changing it back to the
change the signature for ctdb_sys_send_ack() to ctdb_sys_send_tcp()
add a new ctdb_sys_kill_tcp() function that kills (RST) the specified
add a killtcp command to the ctdb tool
we dont need socketkiller anymore now that the
merge from tridge
merge from tridge
merge from tridge
add a command to ctdb to send tickle-ack's
merge from tridge
update the manpage for ctdb to describe killtcp and tickle
break the tickle description into two paragraphs
merge from tridge
remove 59.nfslock and fold this into 60.nfs
use 'ctdb tickle' instead of sendip to tickle nfs clients.
use the official iana number for ctdb and not 9001
merge from tridge
when checking the nodemap flags for consitency while monitoring the
a better way to fix the DISCONNECT|BANNED vs DISCONNECT bug
when a remote node has sent us a message to update the flags for a node,
nicer handling of DISCONNECTED flag when we update the node flags from
dont restart the tcp service after a ip takeover, it is more efficient
run the ctdb killtcp in the background
make it possible to specify how many times ctdb killtcp will try to RST
update the documentation for NFS to mention that the lock manager must
use the socketkiller to kill off all lock manager sessions as well
merge from tridge
merge from tridge
regenerated ctdbd manpage
print the operation code in the debug message when we discard a packet
pass the header to ctdb_become_dmaster instead of just the reqid
add a ctdb_kill_tcp_callback() that will perform a kill tcp using a
first cut at a better and more scalable socketkiller
add a ctdb_ prefix to two public functions
add daemon code for the new kill_tcp control
make the ctdb tool use the killtcp control in the daemon instead of
ctdb killtcp no longer takes a <numrst> argument to control how many
rename killtcp->fd to killtcp->capture_fd
as an optimization for when we want to send multiple tickles at a time
the posix.4 name for the priority field is sched_priority
netinet/if_ether.h is more portable than net/ethernet.h
merge from tridge
add a private_data field to the killtcp structure and let the system
update the comment at the top of file to reflect the purpose of the file
add an initial system_aix.c to manage raw sockets under aix
add some support for controlling Linux or AIX in the makefile
add some configure magic to make it configure and build properly on
when we have found that /etc/rc.d/init.d/SERVICE exists, then run that
if we dont have /etc/sysconfig and we dont have /etc/default
if we dont have nc or netcat, try using netstat as a final attempt to
try netstat as a last attempt to check a tcp port in
there is no point in doing anything in 10.interfaces unless we have a
fix bug introduced in previous commit
we dont do nfstickles unless ctdb manages nfs
change the way we pick/find a new node to takeover for a failed node
add a check if start_node is beyond the end of the nodemap and reset it
merge from tridge
merge from tridge
change the tickle list from one global list into an array per public
updated ctdb tickle management
when a client connects with TCP_CLIENT we should look at the
set the tcp tickle update flag to true once we have done a takeover and
when we build the arp structure for sending gratious arp (and tcp
initial version of talloc based red-black trees
no need to have a separate assignment of the tcparray pointer followed
if sibling is NULL it is a leaf node and thus black.
there were situations where we were not guaranteed that a sibling had 2
fix some remaining bugs with deleting nodes
remove dead code
fix the remaining bugs with tree delete that testing found.
add a small tool to compare rb tree with a timeval_compare()+add an
after we have checked dest address that it is a public address
update the manpage for the -n option to make it clear we are referring
add a small tool that can send smnotify packets
dont wait for the default rpc timeout when trying to bing to a client.
install smnotify in $(bindir)
update the specfile to install smnotify
do not restart lockd/statd when we takeover an ip address this is
we dont use sm-notify any more
move scsi/scsi_io.c to utils/scsi/scsi_io.c
merge from tridge
add a ctdb command to print the default public ip of a host.
change error output in ctdb and in ctdb_cmdline_client to print to
dont wait indefinitely for the initial getvnn to complete
/etc/sysconfig/nfs can now discover the public ipaddress automagically
when inserting data in the tree, if there was already a node with the
compile rb_tree.c by default.
merge from tridge
change fprintf(stderr to DEBUG(0, now that client DEBUGs are redirected
add a tree insert function that takes a callback fucntion to populate
add helpers to add/lookup/delete nodes in a tree where the key is an
add helpers to traverse a tree where the key is an array of uint32
when we want to kill a tcp connection we stored the connection
add more extensive test cases and verify that we are not losing any
run the test for 60 seconds if that is what we claim
remove an unused function
change the mem hierarchy for trees. let the node be owned by the data
remove an extra blankline
enhanced tests to verify the tree integrity when adding/removing nodes
from Chris Cowan
add a wrapper function to create the key used to insert/lookup a certain
comment that ctdb_event_script_v() is called from a forked childs
add a function to return the first entry that is stored in a tree where
add a description on how the event scripts works to the README and make
fix typo
zero out the sa struct to supress a valgrind error
call the service specific event scripts directly from the forked child
add a comment that the talloc_free also removes the script from the tree
change the now rather small /etc/ctdb/events script into a service
add text to the event script timeout log on how to find out which script
we should start winbindd before we start smb
start winbind before smbd
merge from tridge
if a public address has already been taken over by a node, then let that
dont pollute the log with 'Registered PID XXX for client YYY' at log
make sure that the event script is executable and just ignore it
setup the logfile much earlier in the startup procedure for ctdbd
add an atexit() that will print "CTDB daemon shutting down" in the log
when we shutdown the service due to receiving a 'ctdb shutdown' command
change the structure used for node flag change messages so that we can
if lockwait takes an excessive time to complete. log the time it took to
when a node becomes banned its databases are no longer part of ctdb
if the node is inactive i.e. banned or disconnected then that node is
create a define to represent the 'invalid' generation id we used in two
when we receive a packet from the network, check explicitely that the
merge from tridge
create an enum to describe the state of a control in flight instead of
in ctdb_call_recv() we must check that state is non-NULL since
hang the ctdb_req_control structure off the ctdb_client_control_state
break checking that the recoverymode on all nodes are ok out into its
try out a slightly different api for controls where you provide a
get rid of the explicit global timeout used in the previous example and
comment why we do a talloc_steal
change the api for managing callbacks to controls so that isntead of
cleanup invoke_control_callback. we dont need to pass some of these
add an initial implementation of a service_id structure and three
add a control to pull the server id list off a node
change the monitoring of recmode in the recovery daemon to use a fully
add async versions of the freeze node control and freeze all nodes in
make the ctdb shutdown command use the async _send() function to send
add an extra debug statement when we send a SIGTERM to a process
merge from tridge
when we start 60.nfs we must make sure that the shared storage
merge from tridge
change how we do public addresses and takeover so that we can have
change ctdb->vnn to ctdb->pnn
change ctdb_validate_vnn to ctdb_validate_pnn
change vnn to pnn in the ctdb tool
change ctdb_get_vnn to ctdb_get_pnn
change server_id.vnn to server_id.pnn
change ctdb_node_flags_change.vnn to ctdb_node_flags_changed.pnn
change ctdb_ctrl_getvnn to ctdb_ctrl_getpnn
change ctdb_send_message to take pnn as parameter instead of vnn
change debug output from vnn to pnn
change debug output from vnn to pnn
change vnn to pnn in the traverse structure
dont just always return 0 from the killtcp control.
fix typo in debug output
we cant have takeover_ctx hanging off ctdb since it is freed/recreated
get rid of the ctdb_vnn_list structure and just use a single list of
allow different nodes in the cluster to use different public_addresses
dont dereference vnn before we have assigned it a pointer value
we should always get data back from getnodemap
we dont use 'sendip' any more so dont check for it and exit from the
document NFS_TICKLE_SHARED_DIRECTORY on our web page
the event scripts for nfs are called 60.nfs and 61.nfstickle
specify the additional ports for nfs
improve the handling of hosts to notify with statd
we dont need the rpc.statd on shared directory neither do we need
60.nfs:
merge from tridge
add a short delay after stopping nfslock to make it less likely that
update web nfs with the new NFS_HOSTNAME variable we need to be able to
remove the ctdb publicip command
ctdb ip must loop over all connected nodes to pull hte public ip list
set /proc/sys/net/ipv4/conf/all/arp_filter to 1 by default when
change the signature to ctdb_sys_have_ip() to also return:
update a comment
merged patch from tridge
grab the interface name from tok and not from the uninitialized array
move all ip addresses onto loopback when we startup ctdb
use the public addresses variable instead of hardcoding the path
merge from tridge
when a ctdb_takeover_run has failed we must make sure that
disable nfsv4 in etc/sysconfig/nfs
update the section about event scripts
let each node verify that they have a correct assignment of public ip
during startup make sure to delete any public addresses from any
merge from tridge
documentation updates
update vnn -> pnn in documentation
let ctdb ip only print the ip addresses known to the specified node
merge from tridge
add documantation of additional requirements for FTP so that users can
one more command to run to enable winbind for vsftpd
merge from tridge
merge from tridge
when ctdb attaches to a database it broadcasts the attach to all other
in ctdb_control_persistent_store() we must talloc_steal() the pointer to
merge from tridge
merge from tridge
when we have a public ip address mismatch (i.e. we hold addresses we
merge from tridge
change async.private to async.private_data since private is a reserved
merge from tridge
add a function in the ctdb tool to determine whether the local node is
add an initial test version of an ip multiplex tool that allows us
add a control to send gratious arps from the ctdb daemon
send out gratious arps when we are starting up serving the "single
remove some debug outputs
add a --single-public-ip argument to ctdbd to specify the ip address
merge from tridge
simplify election handling
first check that recovery master is connected (we know this from our own
move the kill_tcp_connections() function from 10.interfaces to functions
use kill_tcp_connections() to kill off all tcp connections to the
use $CTDB_BASE in 90.ipmux instead of hardcoding it to /etc/ctdb
dont try to lock the file from inside the ctdb daemon.
merge from tridge
include system/network.h so we get the prototype for inet_aton()
add a new tunable : DeterministicIPs that makes the allocation of
add back the test inside the daemon that if someone asks us to drop
merge from tridge
reverse the order in which public ips are listed so it matches the order
use NF_DROP instead of NF_STOLEN when we tell the kernel to not worry
flush the route cache when we have added the single public ip to the
merge from tridge
set the flags explicitely isnstead of masking them in
add a new transport method so that when a node is marked as dead, we
add a stub restart method for IB
add missing ) in the IB transport (which i dont compile for)
dont close the file, just set the fd to -1
merge from tridge
dont set some of the sysctl variables in statd-callout. these are
dont set parameters in statd-callout if they should be set they
when we are shutting down, we should first shut down the recovery daemon
when shutting down, we should stop monitoring
nfs may take a while to stop so do it in hte background
merge from tridge
since service nfs stop/start sometimes fail to bring up the mount daemon on rhel5
merge from tridge
merge from tridge
if bond* interfaces are used as public interfaces we can not rely on ethtool but
merge from tridge
add a new tunable "CheckNodesFile" that when set to 0 will disable the
revert 773
merge from tridge
merge from tridge
merge from tridge
add CTDB_MANAGES_WINBIND to /etc/sysconfig/ctdb to allow ctdb to be used
only check port 21 when monitoring vsftpd
from Christian A
merge from tridge
when we print "Remote node had flags xx local had flags xx
if we get a modflag control but the flags remain unchanged, log this
add an extra log if we get a modflags control but it doesnt change any
when we as the recovery daemon on the recovery master detects that the
If update_local_flags() finds that a node has changed its BANNED status
add log output for when ctdb_ban_node() and ctdb_unban_node() are called
check for recursive bans in ctdb_ban_node() and remove the previous ban
when monitoring the node from the recovery daemon, check that the
Add a --node-ip argument so that one can specify which ip address a
move ctdb_set_culprit higher up in the file
dont manipulate ctdb->monitoring_mode directly from the SET_MON_MODE
->monitor_context is NULL when monitoring is disabled.
get rid of the control to set the monitoring mode.
add ctdb_disable/enable_monitoring() that only modifies the monitoring
always set up a new monitoring event regardless of whether monitoring is
log that monitoring has been "disabled" not that it has been "stopped"
up the loglevel for the enable/disable monitoring to level 1
merge from tridge
for the banned status, we should allocate this structure as a child of
rework banning/unbanning nodes
merge from tridge
merge from tridge
merge from tridge
merge from tridge
merge from tridge
add documentation for the vacuum and repack commands.
typo
merge from tridge
add eventscript for http
split node health monitoring and checking for connected/disconnected
merge from tridge
merge from tridge
ctdb_control_send() does not need to take an outdata parameter
improve documentation of --nosetsched
explain public-interface and single-public-ip better
update --transport
update
update getdbmap docs
doc updates
merge from tridge
merge from tridge
add a ctdb uptime command that prints when ctdb was started and when the
add ctdb_uptime.c
prepare for release
Merge branch 'master' of git://git.samba.org/tridge/ctdb
Merge branch 'master' of git://git.samba.org/tridge/ctdb
Specify and print debuglevels by name and not by number
add an eventscript to start/stop iscsi
update ctdb version
update ctdb revision
add monitoring of iscsi to the eventscript
add documentation on how to set up ha-iscsi with ctdb
change the IF interface is a BOND THEN xxx ELSE assume everything is ethernet
in the 91.lvs event script
dont use an absolute path for the basename command
dont use an absolute pathname for the iptables tool
dont use an absolute pathname for the touch command
dont use absolute pathnames for the netstat tool
Merge git://git.samba.org/tridge/ctdb
update to revision 28
create a startstop_nfs function that can start/stop the nfs service of different platforms
add helpers to stop/start nfs lockmanager on different platforms
From Mathieu PARENT <math.parent at gmail.com>
from Mathieu PARENT <math.parent at gmail.com>
read the current debuglevel in each loop in the recovery daemon so that we
the ctdb structure must make its own copy of the ->address field and not just
to make it easier/less disruptive to add nodes to a running cluster
make the ctdb reloadnodes reload the nodes file on all nodes and restart the transport
update version to 1.0.29
monitor the amount of free memory and if this treshold is crossed, monitoring will log an OOM memory in the ctdb log and shut down ctdb on the node.
Add a new parameter to /etc/sysconfig/ctdb
Add debug output to indicate why a node starts up in DISABLED state
document the --start-as-disabled argument
add a new tunable DisableWhenUnhealthy which when set will cause a node to automatically become DISABLED anytime monitoring fails and the node becomes UNHEALTHY.
add a control to get the name of the reclock file from the daemon
add a new file <reclock>.pnn where each recovery daemon can lock that byte at offset==pnn to offer an alternative way to detect which nodes are active instead of relying on CONNECTED being accurate.
store the num_active variable (number of connected/active nodes) inside the rec
update the reclock pnn count for how many nodes are connected to the current node once every 60 seconds
change recmaster from being a local variable in monitor_cluster() to be a member of the ctdb_recoverd structure
add a new tunable : reclockpingperiod
add a num_connected field to the rec structure that holds the number
when we reallocate the ip addresses for nodes, we must make sure that
add a new tunable 'NoIPFailback'
A new command to 'ctdb'
document some new ctdb command
document some public tunables
make 'ctdb ip' provide machinereadble output using '-Y'
provide machinereadble -Y output for 'ctdb getdebug'
Update ctdb uptime to provide machinereadable output
update to version 1.0.30
Redo the vacukming process to mkake it scalable.
change the log level for the message when someone connects to a non-public ip
dont steal reply_data.dptr to ctdb if there is no data, since then we would leak
in ctdb_call_local() we can not talloc_steal() the returned data and hang it off ctdb.
From M Dietz,
update to version 1.0.31
fix a memory leak
Add two new controls to add/delete public ip address from a node at runtime.
update the iscis support under RHEL5 to allow one iscsi target to be defined for each public address in the cluster.
make sure the iface string is nullterminated in the addip control packet
return 0 if iscsi is disabled
from tridge: decorate dumpmemory output so that packets that are queued show up with a little more information to make memory leak debugging easier
add improvements to tracking memory usage in ctdbd adn the recovery daemon
decorate the memdump output with a nice field for ctdb_client structures to show the pid of the client that attached
add a mechanism to force a node to run the eventscripts with arbitrary arguments
bump version to .32
From Chris Cowan
we allocated one byte too little in the blob we need to send as the control to the server.
add a ctdb command to print the ctdb version
add possibility to provide site local modifications to the event system
From Chris Cowan
update to version .33
shell scripts need extra spaces sometime
fix compiler warning during a fatal error failing to lock down the socket
Revert "- accept an optional set of tdb_flags from clients on open a database,"
Revert "Revert "- accept an optional set of tdb_flags from clients on open a database,""
Revert "Revert "Revert "- accept an optional set of tdb_flags from clients on open a database,"""
make ctdb eventrscipt accept the -n all argument to run the event script on all connected nodes
when a node disgrees with us re who is recmaster
add support for -n all in "ctdb -n all ip"
add support for -n all in "ctdb -n all ip"
when a node disgrees with us re who is recmaster
make ctdb eventrscipt accept the -n all argument to run the event script on all connected nodes
Revert "Revert "Revert "- accept an optional set of tdb_flags from clients on open a database,"""
Revert "Revert "- accept an optional set of tdb_flags from clients on open a database,""
Revert "- accept an optional set of tdb_flags from clients on open a database,"
when adding a new public ip address to a running node using the 'ctdb addip' command,
make 'ctdb catdb' produce output that resembles the output of tdbdump
when deleting a public ip from a node that is currently hosting this ip, try to move the ip address to a different node first
update version to .34
Use DEBUG_ERR and not DEBUG_WARNING when we get a connection
Add a capabilities field to the ctdb structure
Add ability to disable recmaster and lmaster roles through sysconfig file and
Monitor that the recovery daemon is still running from the main ctdb daemon
close and reopen the reclock pnn file at regular intervals.
make sure we lose all elections for recmaster role if we do not have the recmaster capability.
Expand the client async framework so that it can take a callback function.
update to version .35
From Mathias Dietz
Merge git://git.samba.org/tridge/ctdb
fix merge corruption
fix a bug where the public ip addresses of the cluster would not be redistributed across the cluster after a recovery was performed.
update to new version
ctdb->methods becomes NULL when we shutdown the transport.
when pulling the nfs directories to check during 60.nfs monitor
Update to new release
Try to use tdb transactions when updating a record and record header inside the ctdb daemon.
When we run the init script to start the ctdb service
add a checksum routine for tcp over ipv6
move the function to open a sending socket into the main executable since this function will dissapear soon...
Add a missing include
add a new container to hold a socketaddr for either ipv4 or ipv6
Start implementing support for ipv6.
Merge git://git.samba.org/tridge/ctdb
Update some debug statements. Dont say that recovery failed if the failed function was invoked from outside of recovery
remove some unnessecary tests if ->vnn is null or not
dont check whether the "recovered" event was successful or not
dont disable/enable monitoring for each eventscript, instead
add "machinereadable output" support to "ctdb getmonmode"
new version .38
When ctdb has just been installed on a node, there wont be any persistent databases
lower the debug level for the "can not start transaction" since we do expect this to happen a few times inside ctdb (since we cant really block and wait for all locks to dissapear before we can write the header, for example when doing a dmaster miration)
dont emit the can not start transaction with locks held at all.
lower the loglevel for when we have "tickles" for an ip address that is not a public address on the local node (it may be a public address on other nodes)
lowe the loglevel for the warning that releaseip was called for a non-public address.
move the config optoin CTDB_MANAGES_VSFTPD from /etc/sysconfig/vsftpd to /etc/sysconfig/ctdb
move the CTDB_MANAGES_ISCSI setting from /etc/sysconfig/iscsi to /etc/sysconfig/ctdb
move CTDB_MANAGES_NFS from /etc/sysconfig/nfs to /etc/sysconfig/ctdb
update version to .39
second try for safe transaction stores into persistend tdb databases
cleanup of the previous patch.
fix some memory hierarchy bugs in allocation of the state structure for persistent writes.
restore a timeout value to the default settings instead of the hardcoded 3 second test value
disable transactions for now, there are more situations where there are conflicting locks and the "net" command is not prepared that the persistent store can fail.
read the samba sysconfig from the samba eventscript
update to .40
do persistent writes in a child process
remote a comment that is no longer relevant
remove another field we dont need in the childwrite_handle structure
dont bother casting to a void* private_data pointer,
update to .41
debugleves can now be negative so print their value using %d instead of %u
create the nodes file in a 'test' subdirectory and not the current directory
redesign the test of persistent writes
run the persistent write test with 4 nodes by default
add a parameter for the tdb-flags to the client function
convert handling of gratious arps and their controls and helpers to
fix a comment
first cut to convert takeover_callback_state{}
add a callback for failed nodes to the async control helper.
make it possible to re-start a recovery without marking the current node as
when a eventscript has timed out, log the event options (i.e. "monitor" "takeip 1.2..." etc)
if the event scripts hangs EventScriptsBanCount consecutive times in a row
ban the node after 3 failed scripts by default
update to 1.0.42
it is 2008 not 2008 right now :-)
the write() from the freeze child process can fail
only loop over the write it the write failed
verify that the recmaster has the correct flags for us and if not tell the recmaster what the flags should be
third attempt for fixing a freeze child writing to the socket
/etc/ctdb/functions should not be executable
force an update of the flags from the recmaster after each monitoring run
reduce loglevel of the info message we are updating the flags on all nodes
test
Revert "test"
test
make /etc/ctdb/functions executable and add a hashbang to it so
initdit/ctdb is not a config file
new version
update a comment to reflect that this is not always a real recovery
print the opcode when an async callback detects an error
track both when we last started and ended a recovery.
we dont need to explicitely thaw the databases from the recovery daemon
in the destructor for the lock-wait child, make sure that we cancel any pending
If a transaction commit fails. Log this error and cancel all pending transactions to the
we need a 'case x:' in our ugly 'encode the control opcode as a linenumber in valgrind output' hack to make it work
zero out the sockaddr_in structure before we store the ipv4 data in it to make sure that all data is initialized. Othervise valgrind will complain about uninitialized data when we write this structure out on the wire
new version .44
use more libral handling of event scripts timing out.
waitpid() can block if it takes a long time before the child terminates
update the monitor event for nfs to track how many times in a row it has failed
new version 1.0.45
set sigchild to SIG_IGN instead of SIG_DFL
Revert "set sigchild to SIG_IGN instead of SIG_DFL"
Revert "waitpid() can block if it takes a long time before the child terminates"
Replace \s with [[:space:]] in our regexps we use for egrep.
From Chris Cowan, patch to make aix compile again
mark /etc/ctdb/functions as a config file to keep rpmlint happy
install the readme in /usr/share/doc/ctdb/ instead of under /etc
pull the development files out into their own package
add spec file for development rpm
copy ctdb-dev to the spec directory
Revert "copy ctdb-dev to the spec directory"
Revert "add spec file for development rpm"
Revert "pull the development files out into their own package"
proper waitpid() fix.
if we have enabled LVS but we dont have all the required packages
remove the attempts to restart NFS.
add an option to skip checking that all the samba shares are ok
make LVS a capability so that we can see which nodes are configured with
Add three mode commands to the CTDB tool.
Update to the LVS eventscript.
add documentation for both LVS:single-ip and CAPABILITIES:wan-accelerator
new version 10.0.46
explain why you have to have a real ip address as well as the "virtual"
Revert "Yip yip yip!"
Fix a very subtle race where we could get a double free of a talloced
new version 1.0.47
remove a debugging echo statement
Add two new options
change how we filter out "empty" records in the traversecode
Merge git://git.samba.org/tridge/ctdb
Do not allow "ctdb eventscript" to start new eventscripts while we are in recovery mode
Add two new controls to start and cancel a persistent update.
new version 1.0.48
Only decrement the "number of persistent writes in flight" If/when
Allow the fix-to-make-persistent-writes-safer work with unpatched samba versions
lower a debug message
lower a debug statement
We can not assume that just because we could complete a TCP handshake
if a new node enters the cluster, that node will already be frozen at start
Merge git://git.samba.org/tridge/ctdb
new version 1.0.50
From Michael Adams,
From Alexander Saupp.
new version 1.0.51
New version 1.0.52
Merge git://git.samba.org/tridge/ctdb
remove the reclock file we store pnn counts in.
Merge git://git.samba.org/tridge/ctdb
new version 1.0.53
new version 1.0.54
Merge git://git.samba.org/tridge/ctdb
Merge git://git.samba.org/tridge/ctdb
new version 1.0.55
fix the date soe rpmbuild works
new version 1.0.56
Add two new ctdb commands :
Encode a file version number in the database backup header
store the database name, not the backup filename in the database header
only freeze the local node when doing a backup and not the entire cluster
use a local tdb_traverse instead of a ctdb_pulldb to lessen the impact of the system while performing a database backup
initial ipv6 patch
remove a file we dont need
fix the ipv6 checksum calculation for pseudoheader so that it actually works
fix a bug in the tcp socketkiller for ipv6
update the socketkiller in the eventscripts to be able to handle ipv6
when we compare ip addresses in ctdb_same_ip we must first canonicalize the addresses so that we realize that 127.0.0.1:22 is really the same thing as ::ffff:127.0.0.1:22
make the function to canonicalize a sockaddr structure public
we must canonicalize the sockaddr structures in killtcp so that we do the necessary downgrade if required
When we harvest all tcp connections to kill off after a takeip/releaseip event we must also harvest the ipv4 connections which may be presented in ::ff:xxxx:xxxx form by netstat
when we collect all ip addresses and sort them for the "ctdb ip -n all" output we must look at more than just the first 4 bytes of the sockaddr address or ipv6 wont work
Do not fail the takeip event if the "ip addr add ..." command failed.
version 1.0.57 : initial ipv6 support
add a link to my webpage
Add a "reload" option to the initscript.
From Abhijith Das <adas at redhat.com>:
rename ctdb_tcp_client back to the original name ctdb_control_tcp
new version 1.0.58
zero out the address structure to keep valgrind happy
From C Cowan.
additional monitoring between the two daemons.
lower the debug level for when printing that the nodeflags have changed
lower the debuglevel when logging unknown idr in responses
i add a new ctdb command "ctdb recmaster"
updates to the precompiled documentation
From Volker L
fix some slow memory leaks in the vacuuming handler in the recovery
fix a slow memory leak in the recovery daemon in the error paths for the
The ctdb daemon keeps track of whether the recovery process is running
use the correct tunable failcount not timeout
Check that a database exists first before we dump its content (and
add a new eventscript : 99.routing that is used to add static routes to
When we reload the nodes file
remove an unused variable
new version 1.0.59
from Michael Adams : allow #-style comments in the nodes and public
skip empty lines in the public addresses file, not skip all non-empty
From Mathieu Parent
from Mathieu Parent <math.parent at gmail.com>
update TAKEIP/RELEASEIP/GETPUBLICIP/GETNODEMAP controls so we retain an
update the client side of getnodemap and getpublicips controls to
Revert "from Mathieu Parent <math.parent at gmail.com>"
verify that the nodes we try to ban/unban are operational and print an
new version 1.0.60
change ip route add to route add -net since this works more reliably
lower the loglevel for the informational message that a TCP_ADD opeation
we must also check the status returned from the get tickles control to
add an eventscript to monitor that the multipath devices are healthy
install the new multipath monitoring event script
new version 1.0.61
allow multiple eventscripts using the same prefix.
new version 1.0.62
specify a "script log level" on the commandline to set under which log
make it possible to set the script log level in CTDB sysconfig
when we reload the nodes file, we may need to reload the nodes file
null out the pointer before we reload the nodes file
dont log "running periodic cleanup" ...
new version 1.0.63
add a context and a timed event so that once we have been in recovery
new version 1.0.64
add control and logging of very high latencies.
latency is measured in us, not ms
we actually need a ctdb_db variable
add a CTDB_SOCKET variable that can be used to override the default
new version 1.0.65
reqrite the handling of flag updates across the cluster to eliminate a
Keepalive packets were only sent every KeepaliveInterval if the socket
dont override/change CTDB_BASE if it is already set by the shell
remove two variables no longer used from the example sysconfig file
allow to change the recmaster even the database is not frozen
inew version 1.0.66
make it possible to delete an ip from all nodes at once using
redesign how reloadnodes is implemented.
print the list of valid debug level literals when an invalid debug level
add a description of the recovery-process
new version 1.0.67
New version 1.0.68
dont call ctdb_fatal() just because we are asked to restart a connection
new version 1.0.69
new version 1.0.71
add a licence file
Merge branch 'martins'
new version 1.0.72
From Sumit Bose <sbose at redhat.com>
new version 1.0.73
From C Cowan, AIX needs to set sockaddr.sa_len to a consistent value for
new version 1.0.74
add documentation for the NAT-GW feature
update the natgw eventscript and documentation
The wbinfo --sequence command has been depreciated in favor of the new
add michael adams as one of the ctdb developers on the main ctdb webpage
we need to set the port properly in the parse_ip helper
set --single-public-ip when lvs is used
create a varient of kill_tcp_connections that only kills off the local side of a connection
new version 1.0.75
Merge branch 'obnox'
fix the html so that mine and obnox names are shown
update the documentatio n with all the new commands we supprot in the
web: fix typo
update how the NATGW configuration works.
iupdate the documentation for NATGW to reflect that you can now use
change the ctdb command table to allow us to describe commands which can be run independtly of the ctdb daemon.
new version 1.0.76
we must also try to set the routes when we release an ip since during the release/10.interfaces there can actually be a window where the kernel decides to remove all addresses (before we manually add them back in 10.interfaces) during which the kernel may also decide to delete all routes since there are no gateways reachable through this interface anymore.
new version 1.0.77
add a mechanism where the ctdb daemon will run a usercontrolled script when the node status changes to/from UNHEALTHY state.
install a default /etc/ctdb/notify.sh script as example on how to use
we should also install the 11.natgw eventscript if we want to be able to use it
new release 1.0.78
remove a prototype for a function no longer used
Change the (dodgy) seqnumfrequency variable to have ms resolution instead of second resolution.
if we cant pull the remote nodemap off a node we should mark it as a culprit so it eventually becomes banned.
We dont need to verify the nodemap on remote nodes that are banned
use _exit() and not exit() when we terminate a failed eventscript child process
increase the listen queue. Now that the eventscripts may become clients and connect back to the server we do get a lot more concurrent connection attempts (takepip/teleaseip are performed in parallell)
we only need to switch into client mode from the eventscript child if we are running the monitor event
install /etc/ctdb/notify.sh as executable.
From Mathieu Parent <math.parent at gmail.com>
install ctdb.pc from the RPM
set libdir to ../lib64 on x86-64 platforms
create a function "remote_ip" which can be used from scripts to remove a single ip from an interface.
new version 1.0.79
If we can not pull a database from a node during recovery, mark this node as a "culprit" so that it will eventually become banned.
tweak some timeouts so that we do trigger a banning even if the control hangs/timesout
increase the loglevel for the message we print when we automatically release all ips when we have been in recovery for too long
add a tuneable RecoveryDropAllIPs so it is possible to control after how long a node that has been stuck in recovery will wait until it will yield all public addresses.
add TDB_NO_NESTING. When this flag is set tdb will not allow any nested transactions and tdb_transaction_start() will implicitely _cancel() any pending transactions before starting any new ones.
set the TDB_NO_NESTING flag for the tdb before we start a transaction from within recovery
we only need to have transaction nesting disabled when we start the new transaction for the recovery
dont unconditionally kill/restart ctdb when given "service ctdb start" only start ctdb if it is not already running, and print an error message othervise
From Sumit Bose <sbose at redhat.com>
From: Sumit Bose <sbose at redhat.com>
new version 1.0.81
in the "lvsmaster" command, return -1 if there is no lvsmaster
Add a -Y machinereadable flag to "lvsmaster"
From: Sumit Bose <sbose at redhat.com>
check that a node is banned before trying to unban it.
add extra debug statements to the log to make it easier to see when a recovery dameon has hung due to the underlying filesystem hanging.
assign the natgw address to loopback and not the private network so that natgw will still work even when public and private networks are one and the same
remove NATGW_PRIVATE_IFACE from the documentation since we do not need
change the prefix NATGW_ to CTDB_NATGW_
use scope host when adding the interface to loopback so we dont respond to ARPs for this ip
new version 1.0.82
Track how long it takes to take out the recovery lock from both the main dameon and also from the recovery daemon.
add additional log info to track if/why we cant switch to client mode.
From : Flavio Carmo Junior <carmo.flavio at gmail.com>
Change the loglevel of "registered tcp client for ..." to INFO
Whitespace changes and using the CTDB_NO_MEMORY() macro changes to
change the socket we use for sending grautious ARPs from AF_INET/SOCK_PACKET to AF_PACKET/SOCK_RAW
document the new support for ClamAV
From Flavio Carmo Junior <carmo.flavio at gmail.com>
From Flavio Carmo Junior <carmo.flavio at gmail.com>
add 31.clamd to the install and the rpm
install the 31.clamd script as 644 by default
fix the git path to the repository
remove the obsolete ipmux component.
Revert "add TDB_NO_NESTING. When this flag is set tdb will not allow any nested transactions and tdb_transaction_start() will implicitely _cancel() any pending transactions before starting any new ones."
Revert "set the TDB_NO_NESTING flag for the tdb before we start a transaction from within recovery"
Revert "we only need to have transaction nesting disabled when we start the new transaction for the recovery"
New attempt at TDB transaction nesting allow/disallow.
dont remove the socket when the dameon stops. This can race if the
add a new node state : DELETED.
use num_nodes and the nodes array instead of walking the vnnmap
when building the initial vnnmap, make sure to skip any deleted nodes
dont try to queue packets for sending to (recently) deleted nodes since these nodes do not have a queue.
lower the loglevel when we long that we skip an evenscript because it is not executable
hide all DELETED nodes from the ctdb command output
idocument how to remove a node from an existing cluster using 'ctdb
new version 1.0.83
teach ONNODE about deleted nodes
new version 1.0.84
From William Jojo <w.jojo[AT]hvcc.edu>
make it possible to run 'ctdb listnodes' also if the daemon is not running.
dont list DELETED nodes in the ctdb listnodes output
when adding an ip, try manually adding and takingover the ip instead of triggering a full recovery to do the same thing
try avoiding to cause a recovery when deleting a public ip from a node
improve ctdb moveip so that it does not always trigger a recovery.
dont require particular values for NoIPFailback and DeterministicIPs when
remove unused variable
When we ban a node, only drop the IPs on the node being banned, not on every node
rename 99.routing to 11.routing
increase the timeout before we shutdown when ther ecovery daemon is hung
reduce the timeout we wait for the reclock child process to finish to 5 seconds
in the recovery daemon, check that the recovery master can access the recovery lock file and verify it is not stale from a child process.
dont leak file descriptors
dont leak file descriptors when set recmdoe timesout
dont log an error if waitpid returns -1 and errno is ECHILD
rename 99.routing to 11.routing so the eventscript is processed before
new version 1.0.85
rename 99.routing to 11.routing so that it executed before the service scripts
new version 1.0.85
Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
Dont access the reclock file at all if VerifyRecoveryLock is zero and also
Allow setting the recovery lock file as "", which means that we do not use a file and that we implicitely also disable the recovery lock checking.
Document that you can run ctdb without a reclock file in the sysconfig file
add a control to read the current reclock file from a node
return NULL and not a "" when there is no reclock file returned from the server
update the recovery daemon to read the recovery lock file off the main daemon and handle when the file is changed/enabled/disabled
add a control to set the reclock file
disable VerifyRecoveryLock when the user modifies the filename
Do not allow the "VerifyRecoveryLock" tunable to be changed if there is no reclock file
update the man pages with the "getreclock" and "setreclock" commands.
New version 1.0.86
dont even try to allocate a packet if the transport is down since it will fail
Dont try to allocate and send packets if the transport is down
dont even try to send a message from the main daemon if the transport is down
dont try to send error packets if the transport is down
if we fail a dmaster migration due to the transport being down, then that is a fatal condition.
failing a dmaster send due to the transport being down is fatal
Dont even try allocating and sending a CALL packet if the transport is down
dont try sending a keepalive if the transport is down
when no debuglevel is specified, make 'ctdb setdebug' show the available options
update the handling of debug levels so that we always can use a literal instead of a numeric value.
show the valid debuglevels that can be used in the error text when an invalid level was specified to ctdb setdebug
update the sysconfig to show setting the debuglevel using a string literal instead of a numeric value
update enable/disable
document the ipreallocate command
When we dispatch a message to a handler, pass the data as a real talloc object so that the handler can talloc_steal() the message content.
add a new command "ctdb ipreallocate", this command will force the recovery master to perform a full ip reallocation process.
Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
Perform an ipreallocate efter each enable/disable.
send ARPs with an interval of 1.1 seconds during ip takeover.
Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
Initscript cleanups.
Add a new node flag : STOPPED
remove the header printed for the machinereadable output for natgwlist
make it possible to start the daemon in STOPPED mode
add two new controls, CTOP_NODE and CONTINUE_NODE
dont let other nodes modify the STOPPED flag for the local process when pushing out flags changes
document the new commands ctdb stop/continue
recovery daemon needs to monitor when the local ctdb daemon is stopped and ensure that the databases gets frozen and the node enters recovery mode
change the infolevel when logging stop/continue commands
stopped nodes can not win a recmaster election
Do not allow STOPPED or DELETED nodes to become the NATGW master
if all nodes are STOPPED, pick one of the STOPPED nodes as natgw master
update the eventscript to ensure that stopped nodes can not become the natgw master
When we create new election data to send during elections, we must re-read the node flags from the main daemon to catch when the STOPPED flag is changed.
create a new event : stopped.
document the new stopped event
Merge commit 'martins/master'
new version 1.0.87
describe how to activate NATGW without restarting the nodes on a running
add a command "setnatgwstate {on|off}" that can be used to indicate if this node is using natgw functionality or not.
update the natgw eventscript to set the NATGW capability when this feature is used
Document the natgw flag and how this changes the output of "ctdb
add two commands : setlmasterrole and setrecmasterrole to enable/disable these capabilities at runtime
document the two new commands setlmasterrole and setrecmasterrole
When processing the stop node control reply in the client code we should
From Michael Adam:
initial part of new vacuuming patch.
vacuum event framework
change the defaults for repacking to repack once every 120 seconds and letting it work for 30 second before timing out.
Merge commit 'martins/master'
update STOP/CONTINUE to better handle when we stop the last node
Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
add new controls to make it possible to enable/disable individual eventscripts
document enable/disablescript
if no timeout at all is specified to the ctdb tool, neither using -T nor by setting CGTDB_TIMEOUT, then use 120 seconds as a default timepout before the ctdb command will exit with an error.
reduce the loglevel for the message that we switch to a different recmaster while waiting for ipreallocate to finish
new version 1.0.88
skip any persistent databases ending in .bak
remove a check for the reclock file we dont need
redirect stderr to dev null since the rule might not exist when we try to unconditionally delete it
overwrite the state file, dont append to it.
new prototype banning code
Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
make it possible to have ctdb manage (start/stop/monitor) winbind without having samba
new version 1.0.89
lower the loglevel for the info messages that a public ip is not hosted locally for takeip/releaseip
dont force an election just because the ban flag differs across the cluster.
dont check if commit failed, we do allow the commit to fail sometimes
Merge commit 'martins/master'
allow the transaction commit to fail
new version 1.0.90
Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
Merge commit 'obnox/master-rebase'
try to restart statd everytime it fails, not just the first time
Revert "try to restart statd everytime it fails, not just the first time"
try restarting ststd indefinitely not just once
dont mark the recovery daemon as a ban culprit just because a node in the cluster was set to recvoery mode == ACTIVE.
Merge commit 'martins/master'
with the new banning logic with one struct for each node we no longer "forget" the other culprits as often as we used to do, which means that things like "ctdb recover" can now actually lead to a node becomming banned if we perform too many recoveries too frequently.
Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
Merge commit 'obnox/master-rebase'
add machinereadable output for the ctdb getreclock command
add a new eventscript 01.reclock
change the reclock fail count to 19 monitor intervals before we shut down ctdbd
From Wolfgang Mueller-Friedt
New version 1.0.91
add a new notification to trigger on when ctdb has started
document how to use the notification script
Revert "Revert "allow the transaction commit to fail""
dont exit on a commit failure
Merge commit 'martins/master'
we should close this file on exec
version 1.0.92
When adding a public ip to a node, make sure to push the assignment of ip addresses out to all nodes so all nodes become aware who currently holds the ip.
allocate takeoverip state as a child of vnn and also make the takeocerip context a child of vnn
add a new function to collect a list of all active nodes EXCEPT a certain node
change some loglevels and also pront the pnn of the ip for takeip/releaseip logging
update addip/moveip/delip to make it less likely to trigger an accidental recovery
add a new message to ask the recovery daemon to temporarily disable checking ip address consistency.
always send the release/take ip controls to make sure all nodes are updated
update natgw eventscript to allow you to fore it to update and / or to remove the configuration at runtime
version 1.0.93
if a node fails to become frozen during recovery, mark it up with as a culprit so it will soon get banned
version 1.0.94
Fix bug spotted by Metze,
verify the DISABLED flag and compare with the previous flag we have registered for that node and not what the node says is the difference.
add a control to set a database priority. Let newly created databases default to priority 1.
add a control to read the db priority from a database
during recovery, update all remote nodes so they use the same priorities
uptade the freeze/thaw commands to be able to send the requested database priority to freeze/thaw to the daemon.
initial attempt at freezing databases in priority order
allow setting the recmode even when not completely frozen.
add a new control for explicitely cancelling recovery transactions, i.e. the
Merge commit 'martins/master'
add a dispatch to the recovery transaction cancel call
use the correct expected size for thew _cancel control
new version 1.0.95
we must break the loop as soon as we find a suitable recmaster does exist
Port Volkers deadlock avoidance patch to HEAD.
always create the nfs state directories during the monitor event.
allow a pre .95 version of a recovery master to freeze databases on a post .95 node by remapping priority numbers and log this to log.ctdb
when we change state between healthy/unhealthy, make sure we ask the recovery
move the logging of the warning "No reclock file used" to the startup case so we only print this warning on "service ctdb start" and not for "service ctdb *"
add more debugging output to eventscripts and when a script has timed out,
version 1.0.96
Merge commit 'martins/onnode_options'
new version 1.0.97
add logging everytime we create a filedescriptor in the main ctdb daemon
dont shutdown a node when the reclock file is temporarily unavailable.
Dont run eventscript monitor when the databases are frozen.
Revert "dont shutdown a node when the reclock file is temporarily unavailable."
wait a bit longer before shutting down when the reclock file is missing
add a direcotry where multiple local scripts can be added to run when executing eventscripts
From wolfgang Mueller
From Wolfgang Mueller
version 1.0.98
treat interfaces with the name ethX* as bond devices
mprove the log message when we skip the ip allocation check from the recovery daemon.
dont restart ctdb when installing the rpm
When clients have blocked, perhaps because the node is banned or stopped and the client is blocked trying to tdb_fetch() a record, make sure we dont queue up too many REQ_MESSAGES.
lower the debug levels for the "create FD messages" so we dont fill up the logs.
During tests it is common to add/delete test eventscripts at runtime.
From Wolfgang M.
From Volker L
if a lock wait child died/finished, we could have released the lockwait handle and set it to NULL before we call the destructors for releaseing the waiters.
new version 1.0.99
Merge commit 'martins/master'
set the eventscripts to timeout after 20 seconds
when scripts timeout, log pstree to a file in /tmp and just log the filename in the messages file
Add a mechanism where we can register notifications to be sent out to a SRVID when the client disconnects.
lower the log level of a debug message
automatically re-activate the reclock file check if we set the reclock file to something
update the manpage for ctdb setreclock
disabel the multipath eventscript by default
Suggestion from Volker,
patch the event loop so we read the current time every iteration.
for debugging
dont run the monitor event so frequently after a event has failed.
temporarily try allowing clients to attach to databases even if the node is banned/stopped or inactive in any other way.
add a check that winbind can actually talk to teh dc during the startup event
Enhance the logging fromeventscripts.
change the eventscript handling to allow EventScriptTimeout for each individual script isntead of for the entire set of scripts
new version 1.0.100
return 0 in the event script callback if it was aborted by a different script
create a separate context for non-monitor eventscripts so they dont collide
version 1.0.101
update the "uptime" command to indicate the "time since last" is the time since the last recovery OR failover.
update the manpage for "update" to indicate the "time since last" indicates
Revert "update the "uptime" command to indicate the "time since last" is the time since the last recovery OR failover."
update the uptime command to indicate that time since last is either from alst recovery or from last failover
make the error logged when winbindd fails to access the dc during startup more scary and easier to spot in the logs
Revert "From Wolfgang M."
new version 1.0.102
create a child process to write to syslog.
start the syslog child a little later, after we have forked and detached from the local shell
move the check to skip vacuuming on persistent database to the ctdb_vacuuming_init() function
new version 1.0.103
dont verify winbindd is running properly at startup
add an extra test for the bond devices and check that there is an active slave.
From Rusty
dont use the pointer after it has been talloc_free()d.
suggestion from Christian,
sugegstion from metze,
version 1.0.104
Merge commit 'martins/master'
test of a change to make ctdbd use "status" event instead of the "monitor" event.
set up a pipe betweent he main daemon and the child we use for syslogling so that we can clean up the childprocess when we stop ctdbd
create a new event context for the syslog daemon
add an in memory ringbuffer where we store the last 500000 log entries regardless of log level.
make the ringbuffer logging more efficient and marshall the data by writing to a tmpfile instead of continously talloc resizing a blob
dont reset the event script context everytime we start a new "ctdb eventscript ..."
new version 1.0.105
rework and simplify the eventscript handling
reduce the log level for three vacuuming related log messages
rework and simplify the eventscript handling
iIt is better to plainly disallow clietnts from connecting here
use a binary tree and sort all ipv4/v6 addresses before we assign them out on nodes.
change the lock wait child handling to use a pipe isntead of a socketpair
resolve some conflicts from merging from martins branch
Merge commit 'martins/status-test' into status-test-2
Merge commit 'martins/status-test' into status-test-2
dont use talloc_steal() on a object that is already a child of ctdb.
remove a stray ) so we compile
Merge commit 'martins/status-test-2'
When starting up ctdbd, wait until all initial recoveries have finished
when we detect a ip-allocation mismatch, just force a new ip reassignment
version 1.0.106
version 1.0.107
Use the PID we pick up from the domain socket when a client connects
Add a double linked list to the ctdb_context to store a mapping between client pids and client structures.
Add a proper function to process a process-exist control in the daemon.
lower the loglevel for the message that a client has attached through a domian socket
lower the loglevel for the message that a client has attached to a persistent database
Document the procedure to remove/change the NATGW configuration at
Use statically allocated ringbuffer to store the last 500k log entries
Dont store debug level DEBUG_DEBUG in the in-memory ringbuffer.
Use wbinfo --ping-dc isntead of wbingo -p sicne this is a more reliable way to determine if winbindd is in a useful state.
version 1.0.108
make sure to also check that interfaces used for NATGW are ok
Bond devices can have any name the user configures, so
Merge commit 'rusty/script-report'
From: Volker Lendecke <vl at samba.org>
remove the variable "disable when unhealthy"
cleanup: remove a tunable we no longer use in the eventscripts any more :
Rename the tunable EventScriptBanCount to EventScriptTimeoutCount
From rusty:
When setting up the logging, set the event to trigger a read of a log message from a child process as a child of the "log" structure and not the ctdb structure,
ctdb_fetch requires the number of nodes being specified.
add a new test tool that just locks and releases the same record over and over
Merge commit 'obnox/ctdb-wip-trans3' into trans3
Revert "Make fetch_locked more scalable"
This is a dodgy patch.
Author: Rusty Russell <rusty at rustcorp.com.au>
Merge branch 'trans3'
Revert "cleanup: remove a tunable we no longer use in the eventscripts any more :"
fix conflict in merge from metze
fix a conflict in the merge from rusty
version 1.0.109
Version 1.0.110
New version 1.0.111
Merge commit 'metze/master-for-ronnie'
new version 1.0.113
Make the size of the in memory ringbuffer for keeping the recent log messages
document the in-memory ringbuffer for logging and the commands
source the nfs sysconfig file from the 61.nfstickles script
Drop the debug level for logging fd creation to DEBUG_DEBUG
add two new debug controls to send and receive messages
We only queued up to 1000 packets per queue before we start dropping
When trying to enable/disable a node.
dont just exit(0) upon successful completion of waiting for an ipreallocate to finish.
commands that relate to manual failover of ip addresses (moveip)
Merge commit 'martins/master'
Add a new variable : CTDB_NFS_SKIP_KNFSD_ALIVE_CHECK
lower the loglevel for a debug message for redundant releases of public ips
Add a variable CTDB_CHECK_SWAP_IS_NOT_USED="yes"
Reduce the log level for two debug messages
Reducing the log level for a debug message
Reduce loglevel for two eventscript related debug messages
try to restart rpc-rquotad if it is not running
Ignore any scripts that timesout for most events, except startup.
From Elia Pinto <gitter.spiros at gmail.com>
From Sumit Bose <sbose at redhat.com>
ctdb regsrvids is much more useful for testing if it sleeps once it has registered its srvid.
Make sure that the natgw eventscript also triggers on the "stopped" event
In ctdb_control_end_recovery,
Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
Merge commit 'obnox/master-rebase'
new version 1.0.114
Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
Reduce the loglevel for two log messages for Registering and Deregistering server ids.
Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
When we forcefully abort a running eventscript, dont log this as is
Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
Lower the loglevel for "Recovery lock successfully taken"
Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
In the recovery daemon, keep track of which node we have assigned public ip
Fix a compiler warning
Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
add a missing ||
add an example script that can be called from crontab to cleanup
In the example script to remove all ip addresses after a ctdb crash,
Add a setting where CTDB will monitor and warn for low memory conditions.
If the admin makes a configuration mistake and configures NATGW to use the
In the log message when we have found an inconsistent ip address allocation,
Make create_merged_ip_list() a static function since
The recent change to the recovery daemon to keep track of and
Dont check ip assignment across the cluster while ip-verification
Add a new eventscript 62.cnfs to integrate better with gpfs/cnfs
when performing a recovery,
Add the number of performed recoveries to the "ctdb statistics" output.
Enhance the "ctdb restoredb" command so you can restore a backup into a different database.
In control_ipreallocate() we wait at most 5 tries before aborting the command
It was possible for ->recovery_mode to get out of sync with the new three db priorities in such a way that
in 62.cnfs, lines in /etc/exports can have hte exports quoted,
Add monitoring of quorum and make the node UNHEALTHY when quarum is lost
new version 1.9
Merge commit 'rusty/libctdb2'
make sure we build libctdb for "make all"
make install to install libctdb.a
move the header files and libctdb.a out into a separate ctdb-devel rpm
check if vnn is a valid pointer before dereferencing it
add a gplv3 boilerplate to the example application for libctdb
Prevent clients from connecting to the natgw address.
Dont check linkstatus for loopback. This interface never has
When adding an ip at runtime, it might not yet have an iface assigned to it, so ensure that the next takover_ip call will fall through to accept the ip and add it.
rename ccan/typesafe_cb.h to ctdb_typesafe_cb.h and
Update the tst.c example application for libctdb to
Dont link with libctdb
rename ctdb_send_message to ctdb_client_send_message to resolve colission with the function of the same name in libctdb
rename ctdb_set_message_handler to ctdb_client_set_message_handler
rename ctdb_message_fn_t to ctdb_msg_fn_t to avoid a conflict with the type of the same name used in libctdb
rename ctdb_remove_message_handler to ctdb_client_remove_message_handler
add a function to read the current socketname from the ctdb structure
add a sync wrapper for the getpnn control
link ctdb with libctdb and connect to the daemon both the old way and by using libctdb
Add a variable for start/current time to ctdb statistics
Automatically free the request once the callback has returned.
Make the call to free the request explicit in the callback
Add the offsetof macro to libctdb
ctdb_req_control contains 4 padding bytes. Create an explicit pad variable here and set it to 0 when creating a control to keep valgrind happy.
When we say "current time of statistics" in the "ctdb statistics" output,
remove the global rrl_cb_called from the libctdb example
Readrecordlock changes:
Update the ctdb tool to use the new signature for ctdb_connect()
Must initialize ctdb->locks or else bad things happen
update "ctdb pnn" to use the new return value for _recv() where
Split ctdb_release_lock() into a function to release the locvk and another function to free the data structures.
In ctdb_writerecord()
Additional log messages when tdb databases can no longer be chainlocked or chainunlocked
Some "ctdb ..." commands can be run without having the main daemon running.
when tdb_chainunlock() fails, print the tdb error that occured
print the db name qwhen a chainunlock fails too
add additional logging when tdb_chainunlock() fails
add extra logging for failed ctdb_ltdb_unlock() for a few more places
We can not be holding a chainlock at this stage, so the tdb_chainunlock() call is bogus
idr can timeout and wrap/be reused quite quickly.
fix a debug message
Wrap the IDR early, but not too early.
Merge commit 'rusty/master'
Add a code-style document.
remove the "ctdb freeze" debugging command
iupdate the docs that ctdb freeze is no more
Merge remote branch 'martins/master'
Update a log message to reflect that this does no longer only happen
Create a new command "ctdb sync" that isd just an alias for "ctdb ipreallocate"
Merge commit 'rusty/libctdb-new' into foo
We use eventloop nesting in a couple of places, notably the sync
update the example for the new signature of
Add a new "ctdb addtickle" command to manually add tickles to ctdbd
Remove the structure ctdb_control_tcp_vnn since this is identical to the structure ctdb_tcp_connection.
Add machinereadable output for the "ctgdb gettickles <ip>" command
On RHEL, "service nfs stop;service nfs start" and "service nfs restart"
Merge commit 'rusty/vacuum-fix-master'
Merge commit 'rusty/ports-from-1.0.112' into foo
We need the deprecated talloc_append_string() for now
Dont use the deprecated talloc_append_string()
make it possible to "ctdb gettickle" to only list tickles for a certain
add a new commandline flag -v to enable verbose output
ctdb ip is very busy.
Dont set next_interval to 0.
move the directives to build the devel file to the end of the specfile
Add a command "ctdb pfetch <db> <record>" to read a record from
get rid of two compiler warnings
add a command to write a record to a persistent database
change "ctdb pfetch" to take an optional third argument
run the "init" event before we freeze the databases
When "ctdb pfetch" creates a new file, make sure we set some initial sane mode bits
add a new command "ctdb tfetch" that can read a record straight out of the
the tfetch command can be used without the daemon running, so flag it as such.
Add a configuration database, implemented as a persistent database.
Add a new event "ipreallocated"
Remove the dependency on the underlying cluster filesystem for handling
remove the mention of a tickle and statd directory in shared storage now that we are removing these and migrating to store the data inside ctdbd or persistent databases
Merge commit 'martins/master'
we no longer have a 61.nfstickle script
remove 61.nfstickles from the makefile
ouch, the ordering of the constants and the strings must be kept in sync
ouch, remove a dummy debug printout that snuck in there somehow
dont print a lot of log information about shutting down vsftpd
make sure all statd state directories exist before we try to reference them
When memory allocations for recovery fails,
Dont store temporary runtime data in $CTDB_BASE/state
Change how NATGW is configured to allow special nodes that do not have
Dont try to read the nodemap from the daemon for "ctdb listnodes"
remove an unused variable
Implement a new function GETNODEMAP in libctdb.
Add two new server types to the server_id structure.
define and reserve a range of ctdb message ports for use by nfs and iscsi servers
Update the comment for the range reserved for SAMBA and
add a new serverid to send a message everytime an ip address is taken on the local node
adda GETPUBLICIPS control to libctdb and use this in the test example
set up a handler to catch and log debug messages from the tevent layer
update/improve the log message related to rerecovery timeouts
Add back monitoring for time skips, forward as well as backward.
Create macros to update the statistics counters and use these macros
Add a new statistics structure to keep the current running statistics
Add rolling statistics that are collected across 10 second intervals.
Create a tunable for how often to collect rolling statistics and initialize it to 1 second
add a machinereadable version of ctdb stats/statistics
when printing machinereadable statistics only print the header with the fieldnames once
Dont log a normal vacuuming message about a missing record and using default vacuuming intervals as an error.
get rid of the "ctdb setflags" command since
Merge commit 'rusty/tdb-update'
change the hash function to use the much better Jenkins hash
Spotted by rusty.
dont stop checking interfaces after the first bond device
Revert "change the hash function to use the much better Jenkins hash"
Update the default hash size to be 100001 instead of 10000
Update latency countes to show min/max and average
move extracting the config from config.tdb for public addresses
Make sure the statd directory exist before trying to access the
Remove a debug message "Timed out waiting ..."
try to restart NFS LOCKD if it failed to start
If tdb_open() fails when trying to open the vacuuming database,
new version 1.10
Add support to create TDB databases using the new jenkins hash.
Drop the loglevel of the "reqid wrap" developer debug message to DEBUG
Redirect the output from 00.ctdb pfetch to stdout.
When shuttind down, we always unconditionally try to remove the natgw address
during shutdown there is a window after we have stopped TCP and disconnected from all other nodes but before we have stopped all processing.
Both nfs and nfslock scripts can fail under redhat in very rare situations.
when creating/adding a public ip, set the initial interface to be the first interface specified
dont delete all ips from the system during the initial "init" event
change the default for how long to waqit before dropping all ips to 120 seconds
Add a new tunable : DisableIPFailover that when set to non 0
dont check the public ip assignment or if even we are hosting them and shouldnt
when we load the public address file, at the same time check if we are already hosting the public address, if so, set ourselves up as the pnn for that address
delay loading the public ip address file until after we have started the transport and discovered ouw own pnn number
delete from old interface before adding to new interface
this stuff is just so fragile that it will enter infinite recovery and fail loops
Dont check remote ip allocation if public ip mgmt is disabled
change the takeover script timeout to 9 seconds from 5
Dont exit the update ip function if the old and new interfaces are the same
initialize the statistics to the current time, not start of epoch
add a new support function ctdb_check_counter_equal()
Dont pollute the logs with a "file not found" message
add an explicit _is_managed_service to iscsi eventscript
update autostart/stop to work for samba
When we are no longer the natgw master, dont put the natgw ip on loopback.
dont try starting samba through the "init" event
during ip allocation, there are failure modes where a node might hold a ip address
add a missing part of the import of the previous ganesha patch
Add 60.ganesha to what gets installed by make install as well as by the RPM
add a new ctdb_ltdb function to delete a record in a normal database
add new command line functions
Add a new header flag for "migrated with data" and set this to 1
only run "serverid wipe" if we are actually running samba.
LibCTDB
libctdb
Revert "Add a new header flag for "migrated with data" and set this to 1"
Revert "server: when we migrate off a record with data, set the MIGRATED_WITH_DATA flag"
When assigning the single-public-ip during startup,
LVS
ctdb addip:
50.samba
Dont run net serverid wipe in the background
60.nfs
41.HTTPD
60.nfs Check if we have rpc.statd and if not, skip checking for statd
Revert scheduling back to use real-time processes
Add ctdb_fork(0 which will fork a child process and drop the real-time
recoverd: avoid triggering a full recovery if just some ip allocation
LIBCTDB uninitialized inqueue element
STATD is 100027 not 1000247
TYPO
IPALLOCATION : If the node is held pinned down in "init" state
ADDIP failure
We can not always rely on the recovery daemon pinging us in a timely manner
db_exists() takes 3 arguments, not two.
LIBCTDB: add support for traverse
change Christinas previous patch to only perform the check/logging
ctdb: hold transaction locks during freeze, mark during recover.
Add a new test tool that fetch locks a record and then blocks until it receives
Compile fix
LockWait congestion.
If the node is stopped, put a log entry in /var/log/* to indicate this is why we never become ready
We default to non-deterministic ip now where ips are "sticky" and dont change
change the hash function to use the much better Jenkins hash
Remove LACOUNT and LACCESSOR and migrate the records immediately.
60.nfs
remove checking for filesystems and filesystem health from the cnfs script.
Add two new flags for the ltdb header.
50.samba : Tell winbind about every time we add/remove and ip from the node
ctdb_req_dmaster from non-master
Dont return error if trying to set db priority on a db that does not yet exist.
Deferred attach : at early startup, defer any db attach calls until we are out of recovery.
ATTACH_DB: simplify the code slightly and change the semantics to only
If/when the recovery daemon terminates unexpectedly, try to restart it again from the main daemon instead of just shutting down the main deamon too.
Restart recovery dameon if it looks like it hung.
Dont allow clients to connect to databases untile we are well past and through
Vacuuming: initialize a variable to avoid a harmless valgrind hit
IP reallocation. If a public address is already hosted on the node when we startup, log a warning message but do not cause the recovery to fail.
Deferred attach: create the timed event as a child context of the da context we want to delete.
This needs more testing first
NATGW: dont set arp_ignore in 11.natgw anymore since we no longer
IFACE handling. Assume links are always good on nstartup (they almost always
If the eventscript is finished but state->ctdb is NULL,
bonding mode 4 monitoring:
Cleanup of logging messages/spamming
Dont call the UPDATE event if both old and new interface is the same.
Remove logging of spam/errors from the 10.interfrace
Dont exit from checking interfaces once we have found one interface that is not
If samba fails to start for some reason, make this cause the startup event to fail too, so that ctdbd will re-try the startup event later.
Remove all checking of GPFS from ctdb_diagnostics
When using multiple VLANs, some funky stuff can sometimes happen when
Merge branch 'master' of ssh://git.samba.org/data/git/ctdb
change the name for the key for the record where we stoire the public address config from public-addresses... to public_addresses...
Add log output to wipedb and backupdb
When trying to re-balance the ip assignment and shuffle ips from
Add a text about "ban" "unban" not being permanent and htat recovery daemon can auto unban nodes. Suggest using "stop" / "continue" instead.
Merge branch 'master' of ssh://git.samba.org/data/git/ctdb
Update the delip command
Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
make test: add two missing events to the special test eventscript
Merge remote branch 'martins/lcp2_sim'
Merge remote branch 'martins/onnode_tests'
Merge remote branch 'martins/test_suite'
Change the message when we start the daemon to "CTDB starting on node"
remove a log message we dont need about "allow clients to attach to databases"
remove a non-error logmessage about persistent databases being healthy, as expected
remove log message we dont need
Remove a log message about setting linkstate for an unknown interface.
Merge remote branch 'martins/test_suite'
Merge remote branch 'martins/eventscripts_relative'
Merge remote branch 'martins/eventscript_tests'
Merge remote branch 'martins/eventscript.13.per_ip_routing'
Merge remote branch 'martins/eventscript.62.cnfs'
Merge remote branch 'martins/eventscript.20.multipathd'
Merge remote branch 'martins/eventscript.00.ctdb'
check the shares if they are available before we decide to try to restart nfs
increase the persistent timeout to make people happier
make the persistent even longer for lvs to make people even happier
Add new eventscript 40.fs_use that can be used to monitor file system use and flag a node unhealthy when they become full
Add documentation for the new filesystem use monitoring
When starting and stopping ctdb through the init-script, make sure we first clear all public ips bvefore we start the daemon, in case they are still hanging around since a previous kill -9 and also make sure we drop them after we have stopped the deamon when shutting down
Merge remote branch 'martins/eventscript_infrastructure'
Merge remote branch 'martins/eventscript.10.interface'
Change the default for ip failover to be LCP2 and not DeterministicIPs
Merge remote branch 'martins/eventscript_tests'
Merge remote branch 'martins/test_suite'
Merge remote branch 'martins/eventscript.60.nfs.rpc'
Merge remote branch 'martins/60_nfs_regression'
Merge remote branch 'martins/eventscript.10.interface'
Merge remote branch 'martins/eventscript_tests'
Change the errors for 10.interface to clearly state ERROR: for error messages
dont use a too big persistence timeout value
Add a new command 'ctdb checktcpport <port>'
Merge remote branch 'martins/eventscripts'
ReadOnly records: Add a new RPC function FETCH_WITH_HEADER.
ReadOnly: Add helper functions to manipulate a TDB_DATA as a bitmap for nodes that we are tracking as having a readonly delegation
ReadOnly: Add test tool to validate the functions to manipulate and enumerate the bitmap of nodes to where we have readonly delegations
ReadOnly: Add clientside functions to send the UPDATE_RECORD control
ReadOnly: add a new test tool that does a fetchlock on a record, then bunps the RSN by 10 and writes the new content to the record as sprintf("%d", rsn)
ReadOnly: Add 4 new record flags to handle read only delegation and revoking of delegations
ReadOnly: Add printing of the record flags when we are traversing a database to print its content.
ReadOnly: Add a new command 'ctdb cattdb'. This fucntion differs from 'ctdb catdb' in that 'cattdb' will always traverse the local tdb file only, while 'catdb' does a cluster traverse.
Add the missing "persistent" argument to db_exist()
ReadOnly: After performing a recovery, clear out all flags related to readonly delegations and revoke
ReadOnly: Add "readonly" flag to the ctdb_db_context to indicate if this database supports readonly operations or not. Add a private lock-less tdb file to the ctdb_db_context to use for tracking delegarions for records
ReadOnly: After recovering all databases, make sure to clear out the tracking database used to track delegations and revoke. This is because the recovery will implicitely result in a revoke of all delegations.
ReadOnly: Add an extra flag to ctdb_call_local to specify whether we want to write the record and header back to the tdb (for example we do when performing dmaster migrations)
ReadOnly: Add functions to register CALLs to a context used to handle deferal of processing of CALL commands.
ReadOnly: Add a function to start a revoke of all delegations for a record.
ReadOnly: Add a new flag to call request packet to indicate that the client wants a readonly delegation
ReadOnly: When releasing all deferred calls that blocked during revoke of all previous delegations, add a 1 second grace/delay for any new readonly delegation requests so that the read-write fetch-lock porcess has a chance to make progress
ReadOnly: Once recovery has finished, make sure to free all revoke child processes and trigger the destructors for all deferred calls to re-queue the original packets to the input packet processing function
ReadOnly: Add processing for ReadOnly delegation requests and revoke requests to the processing loop for CALL packets we receive from different nodes.
ReadOnly: Add handlign of readonly requests readwrite requests, delegations and revoking of delegation to the processing loop for CALL requests coming in from a local client via domain socket
ReadOnly: Add a ctdb_ltdb_fetch_readonly() helper function
ReadOnly: Add clientside code to fetch readonly records
ReadOnly: Add a test tool to fetch a record, requesting a readonly delegation and lock the record once
ReadOnly: Add a test tool that requests a readonly delegation in a loop
ReadOnly: Change the update_record test tool to use the new fetchlock routine that can do either normal or readonly fetchlock
ReadOnly: When the client wants a readwrite lock but the local node is the dmaster and also have delegations active we must send a CALL to the local daemon to trigger it to revoke the delegations
ReadOnly: clear out the tracking record once a revoke is completed
ReadOnly: add description of readonly records
ReadOnly: Check the readonly flag instead of whether the tdb pointer is NULL or not
LibCTDB: add commands where an application can query how many commands are active
LibCTDB : add support for getrecmode
LibCTDB : change the ctdb_fetch_lock_once test tool to use libctdb instead of the old client
LibCTDB : add support for getrecmode
LibCTDB : change the ctdb_fetch_lock_once test tool to use libctdb instead of the old client
LibCTDB : initialize ctdb->pnn to -1 when we create a new context
LibCTDB : initialize ctdb->pnn to -1 when we create a new context
LibCTDB : uptade the ctdb tool to use libctdb to query for the recmaster
LibCTDB : update the ctdb tool to use libctdb to read the recovery mode
Logging: when we log stdout/stderr messages from eventscripts to the system log, prefix every line of output with the name of the eventscript.
Merge remote branch 'martins/eventscripts'
Merge remote branch 'martins/tests'
ReadOnly: Change the ctdb_db structure to keep a uint8_t for flags instead of a boolean for
ReadOnly: add a readonly flag to the getdbmap control and show the readonly setting in ctdb getdbmap output
ReadOnly: add a new control to activate readonly lock capability for a database.
ReadOnly: update the documentation about readonly locks
New version 1.11
tests: Link ctdb_fetch_lock_once with @TDB_OBJ@ not -ltdb so we dont create an unneeded dependency on having a standalone tdb library installed
tests:ctdb_fetch_lock_once we must link with @POPT_OBJ@ in case -lpopt is not available
Merge branch 'master' of ssh://git.samba.org/data/git/ctdb
Check interfaces: when reading the public addresses file to create the vnn list
Interface monitoring: add a event to trigger every 30 seconds to check that all interfaces referenced by the public address list actually exists.
Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
Merge remote branch 'ddiss/master_pmda_and_client_timeouts'
Drop loglevel for a tevent message from FATAL to ERROR
Merge branch 'master-readonly-records' into foo
Fix additional breakage from the merge for change in signature for ctdb_cmdline_client() and ctdb_attach()
ReadOnly: Rename the function ctdb_ltdb_fetch_readonly() to ctdb_ltdb_fetch_with_header() since this is what it actually does.
fix some compiler warnings for the test tools
Document 'cattdb' more clearly that it dumps the content of the local TDB and not the CTDB database
ReadOnly: revokechild_active is a list, not a context.
when checking that the interfaces exist in ctdb_add_public_address()
Change the 'This Node' column of the machinereadable output for 'ctdb status -Y' to Y/N instead of 1/0
One of the entry points to release an ip reset the pnn field before invoking the eventscript.
Merge branches 'master' and 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
Merge branch 'master' of ssh://git.samba.org/data/git/ctdb
Merge remote branch 'martins/tests'
Remove debug message
ReadOnly: Dont update the record header from the calling client. While it is convenient since it avoids having to create a child process from the main dameon for writing the updated record it makes the cleitn more complex.
ReadOnly DOCS: update the docs for readonly delegations to remove the passage that records are written/updated by the client
Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
ReadOnly: fix bug writing incorrect amount of data in delegated record
ReadOnly: add readonly record lock requests to libctdb
Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
ReadOnly: If record does not exist, upgrade to write-lock
Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
libctdb: dont allow ctdb_writerecord() for readonly records
Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
Tests: convert test tool for fetching a readonly lock to libctdb
Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
Merge remote branch 'ddiss/master_pmda_namespace'
RB_TREE: Add mechanism to abort a traverse
Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
Merge remote branch 'martins/lcp2fix'
Record Fetch Collapse: Collapse multiple fetch request into one single request.
New version 1.12
SRVID ranges: Change the ranges for SRVIDs to allow 8 bit prefixes
Eventscripts: Add special -ECANCELED status for monitor events that are cancelled
Merge remote branch 'martins/warnings'
Merge remote branch 'martins/hashinclude'
Merge remote branch 'martins/ctdb_control_oom'
Merge remote branch 'martins/scriptstatus'
Merge remote branch 'martins/eventscripts'
This breaks the build since the recovery loop is different in master
DB Seqnum: must provide a ctdb_ltdb_header when calling ctdb_ltdb_fetch()
LibCTDB: add get persistent db seqnum control
Recover Persistent database DB by DB and not record by record
DOC: describe the RecoverPDBBySeqNum tunable
check_srvids: remove the <pnn> from the commandline so that we only specify the list of <srvids>
LibCTDB: add support for the check-srvids control
ctdb: use libctdb version of check-srvids call
DOC: document the check_srvids debugging command
Fix the build that broke in 8281bb210858ed04992eacea7f6d02261e0fc1b1
LibCTDB: Add support for the 'get interfaces' control and update the ctdb tool to use this interface
Return the peer_pid properly to the caller
typo
DOC: Update the manpage to describe all relevant tunables
Merge remote branch 'martins/nodestatus'
Merge branch 'master' of ssh://git.samba.org/data/git/ctdb
explain why we use FIONREAD
Niceify the readonlyrecord API. Dont force clients to be exposed to the featch_with_header function
ReadOnly: update the loop test tool to print number of fetches per second
ReadOnly update documentation
Add a hoook to the ctdb initscript that we can call out to for applications that want to
Merge remote branch 'martins/takeover'
Merge remote branch 'martins/tests'
TESTS: ctdb_fetch needs to allow tevent nesting
CTDB: update tfetch so we can specify a hexadecimal string as key
TFETCH add verbose flag to print also the record ltdb heaer
Ad test tool to store data and ctdb header into a local tdb file
TESTS: Add a test that verifies that RecoverPDBBySeqNum works as expected.
STATISTICS: add total counts for number of delegations and number of revokes
ReadOnly: add per-database statistics to view how much delegations/revokes we have
READONLY: allow specifying the db name for setdbreadonly instead of just the hash
READONLY: document the command to activate readonly record support
READONLY: Update the fetch-readonly-once test tool to use CTDB_SOCKET if set
READONLY: add test for creating and revoking delegations
TESTS: Add test for wipedb command
Merge branch 'master' of ssh://git.samba.org/data/git/ctdb
ReadOnly: Make sure we dont try to fast-vacuum records that are set for readonly delegation
ReadOnly: We can not use ctdb_ltdb_store from a client/child context since
Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
Revert "ReadOnly: We can not use ctdb_ltdb_store from a client/child context since"
READONLY: dont schedule for fast vacuum deletion if any of the readonly record flags are set
READONLY: only send a control to schedule fast-vacuuming from child context iff we have a connection open to the main daemon
Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
Log the "Received SHUTDOWN ..." first in the shutown process instead of last.
when shutting down ctdb, allow it 30 seconds instead of 10 before will -9 the daemon
change TDB to be valgrind nice
Eventscripts: remove the horrible horrible circular reference between state and callback since these two structures do not even share the same parent talloc context.
Make KILLTCP structure a child of VNN so that it is freed at the same time
When adding ips to nodes, set up a deferred rebalance for the whole node to trigger after 60 seconds in case the normal ipreallocated is not sufficient to trigger rebalance.
Add a tunable variable to control how long we defer after a ctdb addip until we force a rebalance and try to failback addresses onto this node
Vacuuming: change default timeout to 120 seconds
READONLY: skip vacuuming or deleting records with readonly delegations.
New version 1.13
READONLY: when updating a remote node to revoke a delegation, make sure we dont create the record if it doesnt already exist
ReadOnly: Only restrict the readonly sanity/paranoia check that only allows
Test: add test tool and test that UPDATE_RECORD works on persistent databases
Merge remote branch 'martins/master'
add max hop count buckets to see how bad hopcounts are
FETCH COLLAPSE : Change the fetch-lock collapse to collapse ALL fetches, including fetch-locks into a single command in flight per record. Also add a tunable to enable/disable this optimization for hot records
DOC document the FetchCollapse tunable
CTDB: change how the hop count buckets are displayed in ctdb statistics
STATISTICS: add per-db hop count statistics
LACOUNT: Add back lacount mechanism to defer migrating a fetched/read copy until after default of 20 consecutive requests from the same node
DOC: Document the MaxLACount tunable variable
STICKY: add prototype code to make records stick to a node to "calm" down if they are found to be very hot and accessed by a lot of clients.
STICKY document the sticky record parameters
DOC regenerate the manpage
Make NoIPFailback a node local setting. Nodes that have NoIPFailback set to !0 can not takeover new ip addresses during failover.
NoIPFailback: Exclude nodes which have NoIPFailback as failback targets during reallocation
NoIPTakeover: change the tunable name for the "dont allow failing addresses over onto the node" to NoIPTakeover
DOC: regenerate manpages
Merge remote branch 'martins/policy_routing'
CTDB: add back the "rebalanceip" command
Add test for NoIPTakeover
Merge remote branch 'martins/master'
Merge remote branch 'amitay/talloc-sync'
Merge remote branch 'amitay/tevent-sync'
Merge remote branch 'amitay/tdb-sync'
Add new control to reload the public ip address file on a node
RELOADIPS: simplify the reloadips code a bit
DOC: document the reloadips command
Track all child process so we never send a signal to an unrelated process (our child died and kernel wrapped the pid-space and reused the pid for a different process
We dont need to serialize the "probe which address this node is" if we have given an explicit --node-ip on the commandline
Debug: When scripts hang, we may need to collect additional data in order to debug why the script hung.
Merge remote branch 'martins/ganesha'
GANESHA: make the ganesha script executable by default
TEVENT: Add back tracking of long runnig events to the local copy of tevent library
DEBUG: Add checks for and print debug messages when 1) a database contains very many records, 2) when a database is very big, 3) when a single record is very big.
DOCS: Document the new tunables to produce warnings if databases grow unexpectedly big.
RECOVER: When we pull databases during recovery, we used to reallocate the databuffer for each entry added. This would normally not be an issue, but for cases where memory is fragmented, this could start to cost significant cpu if we need to reallocate and move to a different region.
RECOVERY: Increase the time we allow before timing out recovery related tasks.
Run the shutdown eventscript before we tear down the transport
STATISTICS: Add tracking of the 10 hottest keys per database measured in hopcount
Add new command to find which interface is located on
When we release an ip, get the interface name from the kernel
When we find an ip we shouldnt host, just release it
Ronnie sahlberg (80):
Split CTDB into sub contexts to handle multiple concurrent databases within the same context.
tridge
first test of forced migration of records. compiles but not tested.
When we create a tcp connection to a remote ctdb node do an explicit bind() to set our source side to the same ip address as we use to listen to ctdb traffic.
merge from tridge
dispatcher daemon first try.
make normal/deamon mode controllable by a ctdb flag so that the api looks the same in both modes to a client.
change ctdb_client_read() to use the ctdb_read_pdu() helper
add a atexit() call to remove the domain socket when the daemon exits
add a CONNECT_WAIT flag to replace the call ctdb_connect_wait() since
restore the test script that was updated by mistake in the previous checkin
move the checking of the CONNECT_WAIT flag into the start method for tcp
change the tcp code to call ctdb_read_pdu() instead of doing the partial read thing explicitely
remove old ifdef that remained from when this was a header file
updates from tridges tree
add a call to register the pid for a messengin service
rename client.id to client.messenger_id to make the purpose of the field more obvious
merge from tridge
add a test that sends messages between clients connected to the same ctdb
merge from tridge
create a standalone ctdb daemon and a script ./direct/ctdbd.sh to start two such daemons in a 2 node cluster.
add a vnn field to the ctdb_reply_connect_wait pdu so that we can tell
add call/reply parsing of the cluster connect-wait call to the test daemon.
add an example on how to send a message to the daemon
merge from ridge and vl
add a test message to the messaging test so we can see that the message data is also passed from originator to receiver
do an infinite loop calling event_loop_once() in the ctdbd parent process instead of event_loop_wait() since the latter will return and thus take down the daemon
add an example on how to read a message from the domain socket
merge from volker
initial support for two new pdus for the domain socket to do fetch_lock
dont hardcode gdb in the test script. ooops
merge from tridges tree
when sending back a fetch lock reply to a client
add a beginning of a new test
add the two missing file from the previous commit
merge from tridge
add store_unlock pdu's for the domain socket.
add more elaborate test to fetch1 test
add missing code to store_unlock so that the data that a client writes is stored in ltdb
merge from tridge
merge from tridge
update to fetch1.sh test
add examples for volker on how to do fetchlock/storeunlock
add code to fetch1 test to tell the two child processes one at a time to fetch_lock the same record
merge from tridge
merge from tridge
merge from tridge
merge from tridge
change some error printouts to make it easier to determine whether the error occured in the client or in the daemon
initial change to remove store_unlock pdu and use tdb chainlock in the client
remaning code to finish lock_fetch/store_unlock clientside helpers
do not use a ctdb_record_handle for client fetch_lock/store_unlock any more
finalize fetch lock changes to get rid of the record handle
create symbols for fetch lock response status
merge from tridge
merge from tridge
merge from tridge
merge from tridge
merge from volker to prevent some valgrind errors
merge from tridge
enhance fetch1 test to verify that a lock is released when a client terminates while holding the lock and the next blocked waiting client is assigned the lock
merge from tridge
initial shutdown function where a client can request an orderly shutdown of a ctdb cluster
add/finish the ctdb_shutdown() function.
merge from tridge
merge from tridge
we dont need the structure ctdb_reply_shutdown since we dont implement that pdu any more
merge from tridge
merge from tridge
ctdbd does no longer take a --daemon parameter since we no longer do non-daemon mode
merge from tridge
merge from tridge
add some tests in the daemon that a REQ_CALL that a client sent us has valid srcnode and destnode
remove a comment that is no longer valid
the checks for srcnode and destnode from the client are redundant since the daemon will sort these out itself before it sends the call of to either the local handler or a remote daemon
Merge commit 'rusty/tdb-update'
Merge commit 'rusty/signal-fix'
Merge commit 'obnox/master-rebase'
document how to restore a backup into a different database
Merge commit 'rusty/idtree'
Rusty Russell (200):
Port from SAMBA tdb:
Port from SAMBA tdb: commit 42c0931441ef53a3f977e1334355fa83f05ac184 Author: Tim Prouty <tprouty at samba.org> Date: Tue Mar 31 16:24:07 2009 -0700
Port from SAMBA tdb: commit a91bcbccf8a2243dac57cacec6fdfc9907580f69 Author: Jim McDonough <jmcd at samba.org> Date: Thu May 21 16:26:26 2009 -0400
Port from SAMBA tdb: commit 4b4fec65db4e202afa13b2d15867f4d8a54d154e Author: Andrew Tridgell <tridge at samba.org> Date: Thu May 28 16:08:28 2009 +1000
Port from SAMBA ctdb: commit 936d76802f98d04d9743b2ca8eeeaadd4362db51 Author: Andrew Tridgell <tridge at samba.org> Date: Tue Dec 16 14:38:17 2008 +1100
Port from SAMBA tdb: commit a386173fa1c7c5bcc11ea9260d84b6c52c154b3d Author: Andrew Tridgell <tridge at samba.org> Date: Mon Jun 1 13:11:39 2009 +1000
Port from SAMBA tdb: commit a6cc04a20089e8fbcce138c271961c37ddcd6c34 Author: Andrew Tridgell <tridge at samba.org> Date: Mon Jun 1 13:13:07 2009 +1000
Port from SAMBA tdb: commit 54a51839ea65aa788b18fce8de0ae4f9ba63e4e7 Author: Rusty Russell <rusty at rustcorp.com.au> Date: Sat Jul 18 15:28:58 2009 +0930
If the record is at the end of the database, pretending it has length 1 might take us out-of-bounds. Only pretend to be length 1 for the malloc.
realloc() has that horrible overloaded free semantic when size is 0: current code does a free of the old record in this case, then fail.
tdb: Reimplementation of Metze's "lib/tdb: if we know pwrite and pread are thread/fork safe tdb_reopen_all() should be a noop".
tdb: don't alter tdb->flags in tdb_reopen_all()
eventscript: clean up forked handler event code
eventscript: clean up forked handler event code
eventscript: fix bug in timeouts on forced eventscripts. Again.
eventscript: fix bug in timeouts on forced eventscripts. Again.
eventscript: typo cleanups
eventscript: cleanup ctdb_event_script_v
eventscript: put timeout inside ctdb_event_script_callback_v
eventscript: put timeout inside ctdb_event_script_callback_v
eventscript: introduce enum for different event script calls.
eventscript: introduce enum for different event script calls.
eventscript: put call type into state struct.
eventscript: put call type into state struct.
eventscript: remove call name from state->options
eventscript: remove call name from state->options
eventscript: check that internal script events are being invoked correctly
eventscript: check that internal script events are being invoked correctly
eventscript: check that ctdb forced script events correct
eventscript: check that ctdb forced script events correct
ctdb_io: fix use-after-free on invalid packets
eventscript: reduce code duplication for ending a script, and fix bug
eventscript: marshall onto last_status immediately
eventscript: use -ETIME for timeout status value
talloc: save errno over talloc_free
eventscript: check_executable() to centralize stat/perm checks
eventscript: enhance script delete race check
eventscript: use -ENOEXEC for disabled status value
eventscript: handle and report generic stat/execution errors
eventscript: simplify ctdb_run_event_script loop
eventscript: replace other -1 returns with -errno
eventscript: handle v. unlikely timeout race
eventscript: expost ctdb_ban_self()
eventscript: handle banning within the callbacks
eventscript: don't make ourselves healthy if we're under ban_count
eventscript: hoist work out of child process, into parent
eventscript: split ctdb_run_event_script into multiple parts
eventscript: make current_monitor_status_ctx serve as monitor_event_script_ctx
eventscript: use direct script state pointer for current monitor
eventscript: store from_user and script_list inside state structure
eventscript: fork() a child for each script.
eventscript: refactor forking code into fork_child_for_script()
eventscript: remove unused ctbd_ctrl_event_script*
eventscript: pass struct ctdb_log_state directly to ctdb_log_handler().
eventscript: ctdb_fork_with_logging()
eventscript: use scripts array directly, rather than separate list
eventscript: record script status for all events
eventscript: use an array rather than a linked list of scripts
eventscript: get_current_script() helper
eventscript: rename ctdb_monitoring_wire to ctdb_scripts_wire
eventscript: use wire format internally for script status.
eventscript: cleanup finished to take state arg
eventscript: save state for all script invocations
eventscript: get rid of ctdb_control_event_script_finished altogether
ctdb: support --machinereadable (-Y) for scriptstatus
eventscript: lock logging on timeout.
eventscript: expost call names and enum
ctdb: scriptstatus can now query non-monitor events
eventscript: fix monitoring when killed by another script command
ctdb: don't print OUTPUT: for DISABLED scripts
There is one signedness issue in tdb which prevents traverses of TDB records over the 2G offset on systems which support 64 bit file offsets. This fixes that case.
lib/tdb: don't overwrite TDBs with different version numbers.
lib/tdb: TDB_TRACE support (for developers)
lib/tdb: wean off TDB_ERRCODE.
lib/tdb: add -t (always use transactions) option to tdbtorture
lib/tdb: add tdb_check()
lib/tdb: make tdbtool use tdb_check() for "check" command
Add --valgringing flag instead of --nosetsched
Remove RT priority, use niceness.
ctdb: use mlockall, cautiously
eventscript: remove cb_status, fix uninitialized bug when monitoring aborted
eventscript: fix cleanup path when setting up script list
eventscript: remove cb_status, fix uninitialized bug when monitoring aborted
eventscript: fix bug when script is aborted
event scripts: add logging for low memory conditions
Leave sequence number alone when merely migrating records.
eventscript: fix case where we fail to create child for some reason
eventscript: don't do debugging system() from inside signal handler
eventscript: wait for debugging dump before killing timedout script
eventscript: simplify script timeout handling
tdb: give a name to the invalid recovery area constant (0)
tdb: fix recovery reuse after crash
tdb: cleanup: split brlock and brunlock methods.
tdb: make _tdb_transaction_cancel static.
tdb: cleanup: rename GLOBAL_LOCK to OPEN_LOCK.
tdb: cleanup: rename global_lock to allrecord_lock.
tdb: cleanup: tdb_nest_lock/tdb_nest_unlock
tdb: don't suppress the transaction lock because of the allrecord lock.
tdb: cleanup: tdb_have_extra_locks() helper
tdb: cleanup: tdb_release_extra_locks() helper
tdb: cleanup: find_nestlock() helper.
tdb: use tdb_nest_lock() for transaction lock.
tdb: use tdb_nest_lock() for open lock.
tdb: use tdb_nest_lock() for active lock.
tdb: use tdb_nest_lock() for seqnum lock.
tdb: remove num_locks
tdb: cleanup: always grab allrecord lock to infinity.
tdb: suppress record write locks when allrecord lock is taken.
tdb: tdb_allrecord_lock/tdb_allrecord_unlock/tdb_allrecord_upgrade
tdb: cleanup: remove ltype argument from _tdb_transaction_cancel.
tdb: rename tdb_release_extra_locks() to tdb_release_transaction_locks()
tdb: remove lock ops
tdb: don't truncate tdb on recovery
tdb: add -k option to tdbtorture
patch tdb-refactor-tdb_lock-and-tdb_lock_nonblock.patch
tdb: handle processes dying during transaction commit.
tdb: define _PUBLIC_ so we can compile tdb.
ctdb: use full range of IDR
libctdb: reorganize headers: remove ctdb.h, add ctdb_client.h and ctdb_protocol.h
libctdb: ctdb.h and tst.c from Ronnie
libctdb: API changes from Ronnie's version
libctdb: first cut, supports getrecmaster only
libctdb: Ronnie's build changes, so we actually build libctdb with make.
tst.c: update to Ronnie's latest
patch libctdb-single-callback.patch
libctdb: uniform callbacks, _recv functions to pull out data.
libctdb: tweak interface for readrecordlock
libctdb: fix wrong argument being handed to callback on attachdb fail
libctdb: change callback for ctdb_readrecordlock.
libctdb: add ctdb arg to more functions.
libctdb: add logging infrastructure
patch libctdb-use-logging.patch
libctdb: track lock for each ctdb_db, complain if they hold too long.
libctdb: use bool in API
libctdb: use values from ctdb_protocol.h, don't re-declare
libctdb: documentation
libctdb: use magic to detect free/invalid locks
libctdb: clarify logging levels
libctdb: more bool conversion, and accompany lock by ctdb_db in API
libctdb: always check header hasn't changed on local tdb
libctdb: connect TDB logging to our logging
idtree: fix handling of large ids (eg INT_MAX)
Delay reusing ids to make protocol more robust
libctdb: removed unused lock field from struct ctdb_db
libctdb: fix uninitialized field usage on ctdb_attach failure path
libctdb: synchronous should be using ctdb_cancel to kill unfinished requests.
libctdb: check ctdb_request_free & ctdb_cancel used appropriately.
libctdb: ctdb_service() never returns < 0
libctdb: fix writerecord() to actually write the record.
libctdb: fix io_elem resource leak on realloc failure.
libctdb: implement ctdb_disconnect and ctdb_detachdb
libctdb: implement synchronous readrecordlock interface.
libctdb: test infrastructure
libctdb: test: logging enhancement
libctdb: test: improve logging of failure paths
libctdb: test: --no-failtest
libctdb: test: add database save and restore
libctdb: test: add readrecordlock support
libctdb: test: run.sh script
speed startup: alter recovery loop
speed startup: immediately run first monitor event after startup.
speed startup: don't wait a full recovery interval if we've already waited
speed startup: run startup immediately after recovery finished.
speed startup: add --sloppy-start.
speed startup: with --sloppy-start, cut initial election timeout to 1/2 second.
ctdb_freeze: extend db priority hack to cover serverid.tdb deadlock.
tdb: improve logging
Report client for queue errors.
version: generate RPM version from git
ctdb: fix crash on "ctdb scriptstatus --events=releaseip"
config: wrap iptables in flock to avoid concurrancy.
libctdb: add synchronous message handling and unregister, with tests.
tdb: fix short write logic in tdb_new_database
tdb: remove unused variable in tdb_new_database().
tdb: Fix tdb_check() to work with read-only tdb databases.
tdb: workaround starvation problem in locking entire database.
talloc: update to 2.0.3 version from SAMBA
event: Update events to latest Samba version 0.9.8
freeze: abort vacuuming when we're going to freeze.
vacuum: fix crash on vacuum abort
vacuum: disabling vacuuming during a freeze
takeover: prevent crash by avoiding free in traverse on RST timeout
logging: give a unique logging name to each forked child.
tdb: make check more robust against recovery failures.
tdb: fix tdb_check() on read-only TDBs to actually work.
tdb: fix tdb_check() on other-endian tdbs.
tdb: put example hashes into header, so we notice incorrect hash_fn.
tdb: increment version to 1.2.4
tdb: add Bob Jenkins lookup3 hash as helper hash.
tdb: automatically identify Jenkins hash tdbs
tdb: TDB_INCOMPATIBLE_HASH, to allow safe changing of default hash.
tdb: fix non-WAF build, commit 1.2.6 ABI file.
idtree: fix right shift of signed ints, crash on large ids on AIX
idtree: fix right shift of signed ints, crash on large ids on AIX
idtree: fix overflow for v. large ids on allocation and removal
tdb: expose transaction lock infrastructure for ctdb
ctdb_lockwait: create overflow queue.
ctdbd: fix lock held on error ("ctdb_req_dmaster from non-master.")
ctdbd: call tdb_reopen_all() in freeze child.
eventscript: fix callback after free
Samuel Cabrero (1):
s4-dns: dlz_bind9: Create dns-HOSTNAME account disabled
Scott Lovenberg (1):
docs: Fix typo in "max open files" description
Shekhar Amlekar (3):
s3:smbd/session: add filters to gather_sessioninfo()
s3:smbd/session: Added a routine find_sessions()
s3: rpc_server/srvsvc: use find_sessions() in NetSessDel
Simo Sorce (5):
Fix release script with newer versins of git
tdb: raise version to 1.2.1
release-scripts: parametrize scripts
tdb: update exports and signatures files
Reserve an OID space for external projects
Slava Semushin (1):
lib/tdb/tools/tdbtorture.c: fixed memory leak.
Srikrishan Malik (2):
Changes for unobtrusive recovery and new method for health check.
eventscript: Fix link creation failure if the link already exist but the target path is missing
Stefan Metzmacher (255):
Fix segfault in ip takeover fallback code.
ctdb_sys_have_ip: don't overwrite input data (setting port to 0)
tcp: don't log an error when we succefully bind to the desired address
server: print out the full 64-bit srvid on 32-bit hosts
server: if takeover runs when the recovery master becomes unhealthy
ctdb_client: fix DEBUG statement in ctdb_ctrl_modflags()
ctdb_diagnostics: don't use hardcoded path to iptables
events/50.samba: only use wbinfo --ping-dc if available
Fix all warnings in source3 with gcc4.3. Jeremy. (cherry picked from samba commit 07e0094365e8dc360a83eec2e7cf9b1d5d8d6d00)
The msync manpage reports that msync *must* be called before munmap. Failure to do so may result in lost data. Fix an ifdef check, I really think we meant to check HAVE_MMAP here. (cherry picked from samba commit 74c8575b3f3b90ea21ae6aa7ccd95947838af956) (This used to be commit 8fd54bb55f0c23bd025d1719abcbe75c6a2ea8ac) (cherry picked from samba commit b39e332bd7803dd4ce8267f750c497b5deb837ee)
Add simple manually written replacement for the tdb module. (cherry picked from samba commit 2a61fd41e9d4d2e3d7b47a816544c88bb369bc03)
py: Properly increase the reference counter of Py_None. (cherry picked from samba commit d2c70d24e12293d9b4272eb310a6a4c4582b2d92)
s3/s4 build: Fix Py_RETURN_NONE to work with python versions < 2.4 (cherry picked from samba commit 61a23c5eea2203721a70a4ad41bfdc6cd1d6a2a7)
Avoid using a utility header for Python replacements included in Samba, since this will not be shipped with talloc/tdb/tevent/etc. (cherry picked from samba commit ba5d6e6d706ebf07640ee24d701255cbb4803525)
lib/tdb: include replace.h and system/filesys.h in pytdb.c
s3 build: Remove unused fstat check to fix a bunch of HAVE_FSTAT warnings (cherry picked from samba commit 2c2545d45af9c7479bf032fff1263e102926a495)
lib/tdb: sync build files from samba master
tdb: rename 'struct list_struct' into 'struct tdb_record'
tdb: always set tdb->tracefd to -1 to be safe on goto fail
tdb: add TDB_DISALLOW_NESTING and make TDB_ALLOW_NESTING the default behavior
tdb: change version to 1.2.0 after adding TDB_*ALLOW_NESTING
ctdb: pass TDB_DISALLOW_NESTING to all tdb_open/tdb_wrap_open calls
config: load 'ctdb' config before 'nfs' config in statd-callout
server: create tdbs with 0600 permissions in ctdb_local_attach()
server: add db_directory_state to ctdb_context
server: only do the mkdir() calls for db_directory* once at the start
server: create recdb.tdb.X in /var/ctdb/state/
server: create vactun.tdb.X under /var/ctdb/state
server: create vactune.tdb.X with 0600 permissions
server: open /var/ctdb/state/persistent_health.tdb.X on startup
server/recovery: update flags on nodes before syncing dbs
server: move error handling to a 'fail' label in ctdb_control_transaction_commit()
server: Use tdb_check to verify persistent tdbs on startup
server: add CTDB_CONTROL_DB_SET_HEALTHY and CTDB_CONTROL_DB_GET_HEALTH
client: add ctdb_ctrl_getdbhealth()
tools/ctdb: display db health in "ctdb getdbmap"
tools/ctdb: add "ctdb getdbstatus <dbname>"
tools/ctdb: let "ctdb restoredb" and "ctdb wipedb" mark the db as healthy on all
client: make ctdb_dumpdb_record() public
client: add "ctdb dumpdbbackup <filename>"
ctdb: disallow "ctdb backupdb" on unhealthy databases
ctdb: add machinereadable output fot "ctdb -Y getdbmap"
ctdb: print out some hints how to debug a "ctdb catdb" failure
config: try to use tdbtool <tdb> check instead of tdbdump for persistent db checks
config: add CTDB_MAX_PERSISTENT_CHECK_ERRORS option
doc/ctdb.1: document "ctdb wipedb"
doc/ctdb.1: document UNHEALTHY for "ctdb getdbmap"
doc/ctdb.1: document -Y output fot ctdb getdbmap
doc/ctdb.1: document "ctdb dumpdbbackup <file>"
doc/ctdb.1: add "See also" for ctdb getdbmap
doc/ctdb.1: document "ctdb getdbstatus <dbname>"
doc/ctdb.1: make clear the database is specified by name for "ctdb backupdb"
doc/ctdb.1: update example "ctdb listvars" output
doc: fix docbook warnings for ctdb.1 and onnode.1 manpages
doc: regenerate manpages
ctdb: pass TDB_DISALLOW_NESTING to all tdb_open/tdb_wrap_open calls
server: fix fd leaks in the new logging code
server: add set_close_on_exec() on more fds
ctdb_logging: simplify ctdb_fork_with_logging a lot and reduce the syscall usage
server: call event_add_fd at the end of ctdb_set_child_logging()
lib/events: finish "Run only one event for each epoll_wait/select call"
server: add missing goto again after do_recovery()
tools/ctdb: display INACTIVE status in "ctdb status" and "ctdb status -Y"
move DEBUG* macros to one place
configure: don't overwrite AC_CHECK_FUNC_EXT and AC_CHECK_LIB_EXT
lib/util: import fault/backtrace handling from samba.
lib/util: add pre and post panic action hooks
server: setup fault handler to get the build-in backtrace support
server: add "init" event
config/functions: add tickle_tcp_connections()
events/10.interfaces: move some parts to helper functions
config: add interface_modify.sh and call it under flock to make modification on interfaces atomic
config: add some ipv4 helper shell functions
config: add 13.per_ip_routing event script
server: add a ctdb_set_single_public_ip() helper function
server: add a ctdb_vnn_iface_string() helper function to access vnn->iface
server: allow multiple interfaces comma separated in public_addresses
events: 10.interfaces allow multiple interfaces per public address
server: we don't need to copy strings we pass as talloc_asprintf() arguments
server: keep the interface information in a list of ctdb_iface structures
reserve upper bits in ctdb_control->flags for opcode specific flags
client: add CTDB_PUBLIC_IP_FLAGS_ONLY_AVAILABLE ctdb_ctrl_get_public_ips_flags()
server: implement CTDB_PUBLIC_IP_FLAGS_ONLY_AVAILABLE behavior
server: use CTDB_PUBLIC_IP_FLAGS_ONLY_AVAILABLE during a takeover run
controls: add stups for GET_PUBLIC_IP_INFO, GET_IFACES and SET_IFACE_LINK_STATE
client: implement ctdb_ctrl_get_public_ip_info()
client: implement ctdb_ctrl_get_ifaces()
client: implement ctdb_ctrl_set_iface_link()
server: implement ctdb_control_get_public_ip_info()
server: implement ctdb_control_get_ifaces()
server: implement ctdb_control_set_iface_link()
tools/ctdb: add "ctdb ifaces"
tools/ctdb: add "ctdb setifacelink <iface> <status>"
tools/ctdb: add "ctdb ipinfo <ip>"
tests/simple/11_ctdb_ip.sh: be more strict in checking ctdb ip -Y output
tests: add a all_ips_on_node() helper function that wraps ctdb ip -Y
tools/ctdb: display interfaces in "ctdb ip" and "ctdb ip -Y" outputs
tools/ctdb: add PartiallyOnline state for "ctdb status" and "ctdb status -Y"
server: only trigger one takeover run in verify_ip_allocation()
server: monitor interfaces in verify_ip_allocation()
events: splitout a monitor_interfaces function in 10.interface
config: 10.interfaces call ctdb ifaces and ctdb setifacelink for monitoring
config: 10.interfaces call monitor_interfaces on startup
server: start with disabled interfaces and let the event scripts enable the interfaces explicit
config: add CTDB_PARTIALLY_ONLINE_INTERFACES to ctdb.sysconfig
server: add updateip event
events: 10.interface handle updateip event
events: add updateip event to 13.per_ip_routing
server: split out a ctdb_announce_vnn_iface() function
server: split out a ctdb_do_takeover_ip() function
server: add a ctdb_do_updateip()
server: be less verbose on redundant release_ip events
server: debug redundant takeover ip events with level INFO
server: print node number as signed integer on release ip event
server: return an error if we get an takeover ip event and we cannot serve the ip
server: give an error if we're getting an takeover_ip event with a wrong pnn
server: ban ourself if the ctdb and kernel knowledge of a public ip differs
server: reload the public addresses before doing a takeover run
config: 10.interface: search "ethtool" in $PATH instead of using a hardcoded path
config: readd ips with a broadcast address in delete_ip_from_iface()
config: add setup_iface_ip_readd_script() helper function
config: interface_modify states in a $CTDB_BASE/state/interface_modify directory
config: make remove_ip() a wrapper of delete_ip_from_iface()
config/11.natgw: use delete_ip_from_iface() instead of remove_ip()
config/10.interface: use delete_ip_from_iface also in the "init" event
server: add "setup" event
config/13.per_ip_routing: add a setup_per_ip_routing() function
config/13.per_ip_routing: register the setup script with setup_iface_ip_readd_script()
config/13.per_ip_routing: use better names for release_script and setup_script
config/13.per_ip_routing: fix typo in error message
doc/ctdb.1.xml: document PARTIALLYONLINE status
doc/ctdb.1.xml: document "ctdb ifaces"
doc/ctdb.1.xml: update "ctdb ip" documentation
doc/ctdb.1.xml: document "ctdb ipinfo <ip>"
doc/ctdb.1.xml: document "ctdb setifacelink <iface> <status>"
doc: regenerate ctdb.1*
config: let 13.per_ip_routing use a flock for generate_auto_link_local()
config/interface_modify.sh: before calling a script check if it exists and is executable
config/interface_modify.sh: do the echo before running the script
events/10.interface: we need to mark interfaces as "up" if we don't know how to monitor them
server/monitor: ask for a takeoverrun after propagating our new flags
server/recoverd: do takeover_run after verifying the reclock file
server/recoverd: if we can't get the recovery lock, ban ourself
server/banning: also release all ips if we're banning ourself
events.d/11.routing: handle "updateip" event
tools/ctdb: let "ctdb catdb" pass the persistent flag to ctdb_attach()
tools/ctdb: add 'persistent' flag to "ctdb attach"
tools/ctdb: allow "ctdb pfetch" only on persistent databases
doc/ctdb.1: document "persistent" flag for "ctdb atttach"
doc/ctdb.1: fix "ctdb restore <filename> [<dbname>]" cmdline
doc: regenerate docs
web: fix link to tdb README
recoverd: let async_getcap_callback() also update ctdb->capabilities
recoverd: try to become the recovery master if we have the capability, but the current master doesn't
recoverd: try to become the recovery master if we have the capability, but the current master doesn't
lib/tevent/testsuite: no longer use 'compat' symbols
tevent: expose tevent_context_init_ops
tevent: change version to 0.9.16
libcli/smb: add SMB3_DIALECT_REVISION_302
libcli/smb: add PROTOCOL_SMB3_02
libcli/smb: negotiate SMB3_DIALECT_REVISION_302 if PROTOCOL_SMB3_02 is requested
lib/param: add PROTOCOL_SMB3_02 handling
s3:torture: add PROTOCOL_SMB3_02 handling
docs-xml: document SMB3_02 as available protocol for the client side
libcli/smb: use SMB1 MID=0 for the initial Negprot
libcli/smb: fix non mendatory signing against some vendor SMB2 servers.
libcli/smb: only check the SMB2 session setup signature if required and valid
librpc/ndr: make ndr_pull/push_DATA_BLOB NDR64 aware
librpc/ndr: make use of ndr_dump_data() in ndr_print_array_uint8()
drsuapi.idl: change the range for attribute values to 26214400 bytes.
frstrans.idl: add flag(NDR_PAHEX) to frstrans_BytePipe
s3:smb2_server: don't rely on the SMB2_HDR_FLAG_SIGNED if signing is required
Revert "Support UPN_DNS_INFO in the PAC"
dsdb/tests/ldap: fix test_ldapServiceName against w2k8r2
s4:dsdb/rootdse: report 'dnsHostName' instead of 'dNSHostName'
dsdb/tests/ldap: fix test_distinguished_name against w2k8r2
ldb:rdn_name: reject 'distinguishedName' depending of the MOD flags
provision/sambadns: CN=MicrosoftDNS,CN=System, is relative to DOMAINDN
librpc/rpc: add dcerpc_binding_handle_auth_info()
s3:rpc_client: implement dcerpc_binding_handle_auth_info()
s4:librpc: implement dcerpc_binding_handle_auth_info()
s3:rpc_client: pass object and table to rpccli_bh_create()
s4:torture/samba3rpc: let rpc.authcontext be more robust against low level code changes (part1)
s4:torture/samba3rpc: let rpc.authcontext be more robust against low level changes (part2)
s4:tortore:raw/qfileinfo: don't use dcerpc_pipe_open_smb() to open a named pipe
s3:rpcclient: introduce global rpcclient_cli_state
s3:rpcclient: make use of rpcclient_cli_state
s4:librpc/rpc: remove unused dcerpc_smb_fnum()
s4:librpc/rpc: add dcerpc_secondary_smb_send/recv()
s4:librpc/rpc: make use of dcerpc_secondary_smb_send/recv() in dcerpc_secondary_context()
s4:librpc/rpc: remove unused dcerpc_smb_tree()
s3:winbindd: don't hide the error in cm_connect_lsa()
s3:include: add forward declaration for struct messaging_context; in g_lock.h
s3:include: fix messaging_send_buf() protype in messages.h
s3:auth_domain: remove dead code in check_trustdomain_security()
s3:libsmb: remove unused change_trust_account_password()
s3:libsmb: inline trust_pw_change_and_store_it() into trust_pw_find_change_and_store_it()
s4:librpc: make dcerpc_schannel_key_send/recv static
s4:librpc: let dcerpc_schannel_key_recv() return netlogon_creds_CredentialState
auth:credentials: avoid talloc_reference in cli_credentials_set_netlogon_creds()
s3:libsmb: make use of smb1cli_tcon_set_values()
libcli/smb: add smbXcli_tcon_is_dfs_share()
libcli/smb: add smbXcli_tcon_{set,get}_fs_attributes()
libcli/smb: add FLAGS2_DFS_PATHNAMES for SMB1 operations against dfs shares
libcli/smb: move Filesystem Attributes defines to smb_constants.h
libcli/smb: add FLAG_CASELESS_PATHNAMES based on FILE_CASE_SENSITIVE_SEARCH to smb1 requests
libcli/smb: add SMB2_HDR_FLAG_DFS for SMB2 Create operations on dfs shares
s3:libsmb: call smbXcli_tcon_{get,set}_fs_attributes() from cli_set_case_sensitive()
s3:libsmb: don't pass down FLAG_CASELESS_PATHNAMES and FLAGS2_DFS_PATHNAMES anymore
s3/libsmb: make use of smbXcli_tcon_is_dfs_share()
s3:libsmb: add SMB2/3 support to cli_dfs_get_referral()
s3:libsmb: remove unused cli_state->dfsroot
s3:libsmb: remove unused cli_state->case_sensitive
s3:libsmb: call smbXcli_tcon_set_fs_attributes() directly
script/mks3param_ctx_table.pl: fix tabs/whitespaces in generated output.
librpc-idl: replace int32 by uint32 as the values are always > 0
libcli/smb: fix smb2cli_ioctl*() against Windows 2008.
CVE-2013-4476: selftest/Samba4: use umask 0077 within mk_keyblobs()
remove partial ctdb/ import
script: add ctdb-import.* scripts
Merge branch 'master' of ctdb into 'master' of samba
script: prepare librelease.sh for ntdb releases
s3:smb2_server: fix drain_socket error handling
s3:smb2_server: for performance reasons we use tevent_fd and readv/writev directly
s3:smb2_server: use tevent_req_notify_callback() in smbd_smb2_request_pending_queue()
s3:smb2_server: allocate smbd_smb2_request on talloc_tos()
s3:smb2_server: generate a header blob for the sendfile path
s3:smb2_server: avoid calling set_current_user_info() for each request
CVE-2013-4408:librpc: check for invalid frag_len within dcerpc_read_ncacn_packet_done()
CVE-2013-4408:librpc: check for invalid frag_len within dcerpc_read_ncacn_packet_next_vector()
CVE-2013-4408:s3:rpc_client: check for invalid frag_len in dcerpc_pull_ncacn_packet()
CVE-2013-4408:s3:rpc_client: verify frag_len at least contains the header size
CVE-2013-4408:s4:dcerpc: check for invalid frag_len in ncacn_pull()
CVE-2013-4408:s4:dcerpc_smb: check for invalid frag_len in send_read_request_continue()
CVE-2013-4408:s4:dcerpc_smb2: check for invalid frag_len in send_read_request_continue()
CVE-2013-4408:s4:dcerpc_sock: check for invalid frag_len within sock_complete_packet()
CVE-2013-4408:async_sock: add some overflow detection to read_packet_handler()
CVE-2013-4408:s3:util_tsock: add some overflow detection to tstream_read_packet_done()
CVE-2013-4408:libcli/util: add some size verification to tstream_read_pdu_blob_done()
CVE-2013-4408:s3:ctdb_conn: add some length verification to ctdb_packet_more()
selftest/Samba3: export ENVNAME
selftest: setup {NMBD,WINBINDD,SMBD}_VALGRIND
tevent: cancel the timeout timer when the request is finished
tevent: let tevent_req_received() clear the private_cancel function
tevent: tevent_req_create() already uses ZERO_STRUCT(req)
tevent: use talloc_get_type_abort() in the documentation examples
tevent: make use of talloc_get_type_abort() in tevent_queue.c
tevent: make use of talloc_get_type_abort() in tevent_req.c
tevent: make use of talloc_get_type_abort() in tevent_select.c
tevent: make use of talloc_get_type_abort() in tevent_signal.c
tevent: make use of talloc_get_type_abort() in tevent_epoll.c
tevent: tevent_epoll_set_panic_fallback() can be a void function
tevent: change TEVENT_SA_INFO_QUEUE_COUNT from 64 to 256
tevent: give the user the chance to ask for TEVENT_NUM_SIGNALS and TEVENT_SA_INFO_QUEUE_COUNT
tevent: version 0.9.20
Steven Siloti (1):
waf: parse LDFLAGS from python
Sumit Bose (12):
added a missing dependency
fix a configure warning while checking for netfilter.h
structure member logfile is not used anywhere
structure member node_list_file is not used anywhere
add missing checks on so far ignored return values
fix re pattern to accept the new recovery lock times in the statistics output
build: Fix for tevent autoconf check
Check return value of tdb_delete()
Fixes for various issues found by Coverity
Fix memory leak in ctdb_send_message()
IPv6 neighbor solicit cleanup
Print deleted nodes as well
Tim Prouty (2):
tdb: Fix some recently introduced warnings in tdbtool (cherry picked from samba commit c299833bf8e6506c793d6e8283743949aaac9ef4)
s3/s4: Fix "shadows a global declaration" warning (cherry picked from samba commit e48a5cd5d4fc2626b09af16a0ac68c638d081437)
Volker Lendecke (221):
Fix uninitialized variable warnings
Handle a client that exited correctly: We need to ignore SIGPIPE and when the
merge
Add a test to read back the message
Merge tridge's tree
Rename "private" to "private_data"
ZERO_STRUCT writes one byte too many here.
Add timestamps to debug output.
typo
Some more debug and two memleak fixes
Be less verbose
Clean up the call_states correctly
Add --dbdir to ctdbd. Necessary for shared operation between ctdbd and smbd.
The remote node needs to get the IMMEDIATE_MIGRATION flag to actually send the
Fix http://ctdb.samba.org/download.html
Fix a segfault in the eventscript timeout handler.
Run only one event for each epoll_wait/select call
Rename a struct member for clarity
Tiny simplification of ctdb_queue_packet()
Import "talloc_array_length" from upstream talloc
Make fetch_locked more scalable
Attempt to fix bug 5684
tdb: Fix a C++ warning (cherry picked from samba commit be88a126ea50ea7e41583f402013c63234305e48)
tdb: fix an early release of the global lock that can cause data corruption
Fix a typo in run_startrecovery_eventscript
In ctdb catdb, print the payload data length without the ctdb header length
Fix a typo in run_startrecovery_eventscript
In ctdb catdb, print the payload data length without the ctdb header length
tdb: Apply some const, just for clarity
tdb: If tdb_parse_record does not find a record, return -1 instead of 0
tdb: Fix bug 7248, avoid the nanosleep dependency
Fix some nonempty blank lines
tdb: Fix indentation in tdb_new_database()
tdb: Add a non-blocking version of tdb_transaction_start
Correctly set docdir
tdb: add restore
Add missing #include to libctdb/ctdb.c
libctdb: Correct 4bfdfda, stddef.h is needed by libctdb_private.h
libctdb: Reorder set_message_handler
libctdb: Reorder attachdb
libctdb: Add license header to messages.c
libctdb: Fix a few format warnings
libctdb: Ensure 0-termination of sun_path
libctdb: Make sure ctdb_request->ctdb is filled correctly
libctdb: "ctdb_request_free" does not need the ctdb_connection parameter
libctdb: "unpack_reply_call" does not need the ctdb_connection parameter
libctdb: "unpack_reply_control" does not need the ctdb_connection parameter
Remove an unused variable
Fix a const warning
Fix some typos
Add CTDB_CONTROL_CHECK_SRVID
Add "ctdb check_srvid"
Fix a cut&paste error
Make CTDB_CURRENT_NODE work with CTDB_REQ_MESSAGE
FreeBSD does not define s6_addr32, only s6_addr
Add includes required on FreeBSD
Add common/system_freebsd.c
Fix some documentation typos
Correct include for ctdb_protocol.h
Avoid a bashism in 60.ganesha
Add a \n to an error message
build: Fix the build with old system-installed tevent
vacuum: Avoid some tallocs in ctdb recovery
Fix a comment typo
fix a typo
common/messaging: use tdb_parse_record in message_list_db_fetch
common/messaging: Use the jenkins hash in ctdb_message
smbd: Use talloc_pooled_object in cp_smb_filename
tevent: Use talloc_pooled_object for tevent_req_create
gencache: Avoid a duplicate call to string_term_tdb_data
lib: serverid.h needs "struct db_record" declaration
smbd: Fix blank line endings
smbd: Make brl_same_context static
smbd: Make brl_lock_failed static
smbd: Fix a typo
smbd: Use ZERO_STRUCT instead of memset
smbd: Add brl_num_locks access function
smbd: Add brl_fsp access function
smbd: Move "struct byte_range_lock" definition to brlock.c
smbd: Convert br_lck->lock_data to talloc
smbd: Properly protect against invalid lock data
idmap_autorid: Use fstr_sprintf in idmap_autorid_build_keystr()
net idmap: add utility function parse_uint32()
libndr: Fix ndr_print_bitmap_flag for value=0
librpc: Fix blank line endings
smbd: Avoid calling serverid_exists twice
smbd: Fix confusing comments
smbd: Fix a comment
torture: Fix a typo
libcli: Add const to smb2_lease_pull
libcli: Correct smb2_lease_pull
torture: Continue buffer check after NOT_IMPLEMENTED infolevels
torture: Remove an unused variable
smbd: Convert some dbgtxt to DEBUG
smbd: Remove unused "brl->key" struct element
smbd: Avoid an if-statement per read/write in the non-clustered case
smbd: Restructure brl_get_locks_readonly
smbd: brl_get_locks_internal is always called r/w now
smbd: Remove the brl_get_locks wrapper
smbd: Remove byte_range_lock->read_only
smbd: Change parameter from unsigned to uint32_t
smbd: Make add_share_mode return bool
smbd: Convert set_share_mode to return bool for success
smbd: Simplify find_share_mode_entry callers
smbd: Simplify set_share_mode
smbd: Fix an error path in open_directory
pidl: fix an error message typo
torture: Extend the raw.oplock.doc1 test
torture: Extend the smb2.oplock.doc1 test
smbd: Fix the extended *.oplock.doc1 tests
smbd: Remove name_hash param from open_mode_check
smbd: Remove unused create_options from open_mode_check
libcli4: Remove an unused variable
auth4: Remove an unused variable
smbd: Put "have_read_oplocks" into brlock.tdb
smbd: Remove FAKE_LEVEL_II_OPLOCK
torture: Extend raw.oplock.batch10
smbd: Add debugs to brlock.c
smbd: Remove some FAKE_LEVEL_II comments
smbd: Remove a special case for level2 break
smbd: Inline break_level2_to_none_async
smbd: Simplify find_oplock_types a bit
smbd: Unify delay_for_*_oplocks
smbd: Make loop index type match loop limit
smbd: Make find_oplock_types return bool
smbd: Factor out remove_stale_share_mode_entries
smbd: Reduce the complexity of open_file_ntcreate
smbd: Decouple grant_fsp_oplock_type from oplock validation
smbd: Remove "file_existed" handling from open_mode_check
smbd: Simplify open_file_ntcreate
ctdbd_conn: Lift the cluster_fatal call in get_cluster_vnn
ctdbd_conn: Remove one call to cluster_fatal
ctdbd_conn: Remove one call to cluster_fatal
smbd/winbindd: Do an early check if ctdbd is functional
winbind3: Fix CID 1107229 Uninitialized pointer read
lsasd: Fix CID 1107233 Double close
nsswitch: Fix short writes in winbind_write_sock
ntvfs: Fix Coverity ID 1107224 Resource leak
ntvfs: Fix CID 1107225 Resource leak
winbind3: Fix CID 241468 Resource leak
ldb: Fix CID 240798 Uninitialized pointer read
smbd: Fix bug 10216
torture: Add reproducer for bug 10216
smbd: validate oplock types even for internal and stat opens
torture: Check break level in raw.oplock.exclusive5
torture: Add oplock break to l2/none tests
smbd: Remove unused "oplock_request" arg from send_break_message
smbd: Simplify send_break_message
smbd: Don't send op_mid in a BREAK message
smbd: Remove unused "mid" from delay_for_oplock
smbd: Fix raw.batch.exclusive[59]
torture: Add a test showing we have to break L2 at open time
smbd: Fix breaking level2 on OVERWRITE create_disposition
smbd: Use MSG_SMB_BREAK_REQUEST for async l2 breaks
smbd: Remove MSG_SMB_ASYNC_LEVEL2_BREAK
torture: Extend the raw.oplock.level_ii_1 test
smbd: Use remove_oplock() in close_normal_file
smbd: Make release_file_oplock static
smbd: Unify parameters to set_oplock_type
smbd: Remove separate oplock_type parameter from set_file_oplock
smbd: Move oplock/sharemode ops into one place
smbd: Move oplock handling together
torture: Add smb2.oplock.levelII501 test
Revert "smbd: Move oplock handling together"
Revert "smbd: Move oplock/sharemode ops into one place"
rpc_server: fix a typo
rpc_server: Fix some uses of tevent_req_nomem
rpc_server: Remove rpc_ep_register_state->mem_ctx
rpc_server: Fix a memleak on error exit
rpc_server: Fix a typo
smbd: Support multiple dfs targets for msdfs proxy shares
torture: Add smb2.rename.rename_dir_bench
smbd: Fix DEBUG in do_break_to_none
README.Coding: Add __func__
oLschema2ldif: Add some NULL checks
dsdb: Fix Coverity ID 1034907 Dereference before null check
registry: Fix Coverity ID 1034916 Wrong sizeof argument
registry: Fix Coverity ID 1034917 Wrong sizeof argument
registry: Fix Coverity ID 1034918 Wrong sizeof argument
net: Fix CID 1035403 Unchecked return value
netapi: Fix CID 1127344 Uninitialized scalar variable
libsmb: Fix CID 1127343 Dead default in switch
iniparser: Fix CID 241908 Copy into fixed size buffer
smbd: Fix CID 1035434 Same on both sides
libsmb: Fix CID 241313 Array compared against 0
ldb: Fix CID 241329 Array compared against 0
heimdal: Fix 241482 Resource leak
samdb: Fix CID 241968 Uninitialized pointer read
smbd: Fix CID 1035478 Negative array index read
smbd: Use fstring in conn_tdb.h
smbd: Use fstring in conn_tdb.c
smbd: Fix CID 1035366 Buffer not null terminated
smbd: Fix CID 1035365 Buffer not null terminated
backupkey: Fix CID 1034885 Resource leak
ntvfs: Fix CID 1034883 Resource leak
gpo: Fix CID 1034881 Resource leak
gpo: Fix CID 1034880 Resource leak
libsmb: Fix CID 242665 Out-of-bounds access
heimdal: Fix CID 241943 Uninitialized pointer read
tls: Fix some noblank line endings
tls: Fix CID 242014 Uninitialized scalar variable
heimdal: Fix CID 240779 Allocation size mismatch
autorid: Correctly init range_index for "delete range"
heimdal: Fix CID 745516 Use after free
torture3: Use tevent_req_nterror properly
smbd: Fix a talloc hierarchy problem in msg_channel
smbd: Factor out get_share_mode_write_time of get_file_infos
smbd: Point reply_open at the correct stat struct
smbd: Pull mtime handling into open_file_ntcreate
smbd: Fix bug 10284
torture3: Reproducer for bug 10284
smbd: Remove a "set but unused" variable
smbd: Fix a typo
replace: Don't run over dst in strlcat
pam_winbind: Use strlcat in safe_append_string
smbd: Avoid calling notify_filter_string for low debuglevels
messaging3: Do not go through messages.tdb for self-sends
idmap_cache: Use an fstring instead of talloc_asprintf
idmap_cache: Use gencache_parse
smbd: Fix a panic when a smb2 brlock times out
smbd: Fix regression for the dropbox case.
Wolfgang Mueller-Friedt (7):
added event repacking
remove repack from eventscript
repack limit tunable
vacuuming needed additional check before getting rid of the record; there is a gap between selecting the records and deleting them, therefore we have to check if the records still can be deleted when we actually are about to delete them
ensure tdb names end with .tdb. and any number of digits
ctdb_setstatus in /etc/ctdb/functions was not working correctly because it was called with a wrong parameter list
ctdb_setstatus in /etc/ctdb/functions was not working correctly because it was called with a wrong parameter list
jmcd at samba.org (4):
Inital rpm build files
updates from tridge
updates from tridge
Next round of packaging updates:
root (33):
check the static-routes file if it exists
collect net conf list in ctdb_diagnostics
the while loop in the startup event runs as a subshell so we need an extra || exit 1 at the end
Merge commit 'ronnie-ctdb/master' into tridge
listen_fd is auto-closed
debuglevel is a signed int, not usnigned.
fix an incorrect path
some platforms are very picky about the third argument passed to bind().
redo and update how we synchronize flags across the cluster.
return -1 if ctdb ping failed
If ctdbd was started with the --socket option then we also set the CTDB_SOCKET variable so that the eventscripts can pick up the name proper
update to the flags handling
add a helper that waits until the clueter is no longe rin recovery mode and return the generation number.
make sure we return an errorcode when the ctdb command has hung and is timeodout by the -T <timeout> setting
add a CTDB_TIMEOUT variable for the ctdb tool.
update the "ctdb recover" command.
add better errorchecking that nodes we try to talk to using the "ctdb" tool actually exist and that it is connected.
finish the ipv6 support.
new version
use netstat to check first and only fall back to netcat if netstat is unavailable
make it possible to disable checking all samba shares.
Add a variable CTDB_NFS_SKIP_SHARE_CHECK to sysconfig that can disable the check that all shares are accessable.
make sure we can collect proper mmfs data
NAT-GW updates. Describe the functionality in the sysconfig file
change the NATGW_ example in sysconfig to make it more realistic
redo how the natgw is done. just use a default route with a high metric instead of fancy policyrouting
create a helper function that converts a ctdb instance in daemon mode to become
add a new command "ctdb scriptstatus"
Add a new variable VerifyRecoveryLock which can be used to disable the test that the recovery daemon holds the lock properly when performing a recovery
when tracking the ctdb statistics, only decrement num_clients and pending_calls IFF the counter is >0
new version 1.0.80
fixed a problem with clients disconnecting during a traverse
change the talloc hierarchy for the main transaction_start context and the individual transaction_all handles
-----------------------------------------------------------------------
--
Samba Shared Repository
More information about the samba-cvs
mailing list