uint64_t dbwrap_flags)
{
struct db_context *result = NULL;
+ const char *base;
const char *sockname;
if (!DBWRAP_LOCK_ORDER_VALID(lock_order)) {
return NULL;
}
+ base = strrchr_m(name, '/');
+ if (base != NULL) {
+ base++;
+ } else {
+ base = name;
+ }
+
if (tdb_flags & TDB_CLEAR_IF_FIRST) {
- const char *base;
bool try_readonly = false;
- base = strrchr_m(name, '/');
- if (base != NULL) {
- base += 1;
- } else {
- base = name;
- }
-
if (dbwrap_flags & DBWRAP_FLAG_OPTIMIZE_READONLY_ACCESS) {
try_readonly = true;
}
}
if (tdb_flags & TDB_CLEAR_IF_FIRST) {
- const char *base;
bool try_mutex = true;
bool require_mutex = false;
- base = strrchr_m(name, '/');
- if (base != NULL) {
- base += 1;
- } else {
- base = name;
- }
-
try_mutex = lp_parm_bool(-1, "dbwrap_tdb_mutexes", "*", try_mutex);
try_mutex = lp_parm_bool(-1, "dbwrap_tdb_mutexes", base, try_mutex);
sockname = lp_ctdbd_socket();
if (lp_clustering()) {
- const char *partname;
-
if (!socket_exist(sockname)) {
DEBUG(1, ("ctdb socket does not exist - is ctdb not "
"running?\n"));
return NULL;
}
- /* ctdb only wants the file part of the name */
- partname = strrchr(name, '/');
- if (partname) {
- partname++;
- } else {
- partname = name;
- }
/* allow ctdb for individual databases to be disabled */
- if (lp_parm_bool(-1, "ctdb", partname, True)) {
+ if (lp_parm_bool(-1, "ctdb", base, true)) {
struct messaging_context *msg_ctx;
struct ctdbd_connection *conn;
}
msg_ctx = server_messaging_context();
- result = db_open_ctdb(mem_ctx, msg_ctx, partname,
+ result = db_open_ctdb(mem_ctx, msg_ctx, base,
hash_size,
tdb_flags, open_flags, mode,
lock_order, dbwrap_flags);
if (result == NULL) {
- DEBUG(0,("failed to attach to ctdb %s\n",
- partname));
+ DBG_ERR("failed to attach to ctdb %s\n", base);
if (errno == 0) {
errno = EIO;
}