};
-/*
- * Support samba 3.6.x (and older) versions which do not set db priority.
- *
- * By default, all databases are set to priority 1. So only when priority
- * is set to 1, check for databases that need higher priority.
- */
-static bool later_db(struct ctdb_context *ctdb, const char *name)
-{
- if (ctdb->tunable.samba3_hack == 0) {
- return false;
- }
-
- if (strstr(name, "brlock") ||
- strstr(name, "g_lock") ||
- strstr(name, "notify_onelevel") ||
- strstr(name, "serverid") ||
- strstr(name, "xattr_tdb")) {
- return true;
- }
-
- return false;
-}
-
int ctdb_db_prio_iterator(struct ctdb_context *ctdb, uint32_t priority,
ctdb_db_handler_t handler, void *private_data)
{
if (ctdb_db->priority != priority) {
continue;
}
- if (later_db(ctdb, ctdb_db->db_name)) {
- continue;
- }
- ret = handler(ctdb_db, private_data);
- if (ret != 0) {
- return -1;
- }
- }
-
- /* If priority != 1, later_db check is not required and can return */
- if (priority != 1) {
- return 0;
- }
-
- for (ctdb_db = ctdb->db_list; ctdb_db; ctdb_db = ctdb_db->next) {
- if (!later_db(ctdb, ctdb_db->db_name)) {
- continue;
- }
ret = handler(ctdb_db, private_data);
if (ret != 0) {
return -1;
{ "DBSizeWarn", 100000000, offsetof(struct ctdb_tunable_list, db_size_warn), false },
{ "PullDBPreallocation", 10*1024*1024, offsetof(struct ctdb_tunable_list, pulldb_preallocation_size), false },
{ "NoIPHostOnAllDisabled", 0, offsetof(struct ctdb_tunable_list, no_ip_host_on_all_disabled), false },
- { "Samba3AvoidDeadlocks", 0, offsetof(struct ctdb_tunable_list, samba3_hack), false },
+ { "Samba3AvoidDeadlocks", 0, offsetof(struct ctdb_tunable_list, samba3_hack), true },
{ "TDBMutexEnabled", 0, offsetof(struct ctdb_tunable_list, mutex_enabled), false },
{ "LockProcessesPerDB", 200, offsetof(struct ctdb_tunable_list, lock_processes_per_db), false },
{ "RecBufferSizeLimit", 1000000, offsetof(struct ctdb_tunable_list, rec_buffer_size_limit), false },