Use right control to attach to persistent databases
authorVolker Lendecke <vl@samba.org>
Mon, 17 Mar 2008 13:12:10 +0000 (14:12 +0100)
committerVolker Lendecke <vl@samba.org>
Mon, 17 Mar 2008 13:56:45 +0000 (14:56 +0100)
This is a merge of 2a8f8b26f08ab09c34dff82417e541d8eb1ec91c and
4e6508dfee0d872a7fa42c9e58ba565137a27b3f from 3-0-ctdb
(This used to be commit 46e50da0d550e43de3aaf0141c64f25e1c9997c2)

source3/lib/ctdbd_conn.c

index 18e9879601735466cbf575583477ee6adaf774bb..46936c5f39bd62f1d5b7de7b0692bb056beb6bfb 100644 (file)
@@ -820,13 +820,16 @@ NTSTATUS ctdbd_db_attach(struct ctdbd_connection *conn,
        NTSTATUS status;
        TDB_DATA data;
        int32_t cstatus;
+       bool persistent = (tdb_flags & TDB_CLEAR_IF_FIRST) == 0;
 
        data.dptr = (uint8_t*)name;
        data.dsize = strlen(name)+1;
 
        status = ctdbd_control(conn, CTDB_CURRENT_NODE,
-                              CTDB_CONTROL_DB_ATTACH, 0, data, 
-                              NULL, &data, &cstatus);
+                              persistent
+                              ? CTDB_CONTROL_DB_ATTACH_PERSISTENT
+                              : CTDB_CONTROL_DB_ATTACH,
+                              0, data, NULL, &data, &cstatus);
        if (!NT_STATUS_IS_OK(status)) {
                DEBUG(0, (__location__ " ctdb_control for db_attach "
                          "failed: %s\n", nt_errstr(status)));