static bool locking_init_internal(bool read_only)
{
+ struct db_context *backend;
char *db_path;
brl_init(read_only);
return false;
}
- lock_db = db_open(NULL, db_path,
+ backend = db_open(NULL, db_path,
SMB_OPEN_DATABASE_TDB_HASH_SIZE,
TDB_DEFAULT|TDB_VOLATILE|TDB_CLEAR_IF_FIRST|TDB_INCOMPATIBLE_HASH,
read_only?O_RDONLY:O_RDWR|O_CREAT, 0644,
DBWRAP_LOCK_ORDER_1, DBWRAP_FLAG_NONE);
TALLOC_FREE(db_path);
- if (!lock_db) {
+ if (!backend) {
DEBUG(0,("ERROR: Failed to initialise locking database\n"));
return False;
}
- if (!posix_locking_init(read_only))
- return False;
+ lock_db = db_open_watched(NULL, backend, server_messaging_context());
+ if (lock_db == NULL) {
+ DBG_ERR("db_open_watched failed\n");
+ TALLOC_FREE(backend);
+ return false;
+ }
- dbwrap_watch_db(lock_db, server_messaging_context());
+ if (!posix_locking_init(read_only)) {
+ TALLOC_FREE(lock_db);
+ return False;
+ }
return True;
}
DEBUG(10, ("defering mid %llu\n",
(unsigned long long)req->mid));
- watch_req = dbwrap_record_watch_send(
+ watch_req = dbwrap_watched_watch_send(
watch_state, req->sconn->ev_ctx, lck->data->record,
- req->sconn->msg_ctx, (struct server_id){0});
+ (struct server_id){0});
if (watch_req == NULL) {
exit_server("Could not watch share mode record");
}
NTSTATUS status;
bool ret;
- status = dbwrap_record_watch_recv(req, talloc_tos(), NULL, NULL,
+ status = dbwrap_watched_watch_recv(req, talloc_tos(), NULL, NULL,
NULL);
TALLOC_FREE(req);
if (!NT_STATUS_IS_OK(status)) {
- DEBUG(5, ("dbwrap_record_watch_recv returned %s\n",
+ DEBUG(5, ("dbwrap_watched_watch_recv returned %s\n",
nt_errstr(status)));
/*
* Even if it failed, retry anyway. TODO: We need a way to
talloc_set_destructor(rename_state, defer_rename_state_destructor);
- subreq = dbwrap_record_watch_send(
+ subreq = dbwrap_watched_watch_send(
rename_state,
ev,
lck->data->record,
- fsp->conn->sconn->msg_ctx,
(struct server_id){0});
if (subreq == NULL) {
int ret_size = 0;
bool ok;
- status = dbwrap_record_watch_recv(subreq, state->req, NULL, NULL,
- NULL);
+ status = dbwrap_watched_watch_recv(subreq, state->req, NULL, NULL,
+ NULL);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(5, ("dbwrap_record_watch_recv returned %s\n",