diff options
| author | Ronnie Sahlberg <ronniesahlberg@gmail.com> | 2011-09-01 10:21:55 +1000 |
|---|---|---|
| committer | Ronnie Sahlberg <ronniesahlberg@gmail.com> | 2011-09-01 10:21:55 +1000 |
| commit | 63dc96cdb2b6dcdfed8e49c3f2f6a42ed13d1df5 (patch) | |
| tree | d7963c54213fbd22540ec08516bb256e570896ea /ctdb/server | |
| parent | 7567e013370199b6b25a580e64bf3466531e0034 (diff) | |
| download | samba-63dc96cdb2b6dcdfed8e49c3f2f6a42ed13d1df5.tar.gz samba-63dc96cdb2b6dcdfed8e49c3f2f6a42ed13d1df5.tar.xz samba-63dc96cdb2b6dcdfed8e49c3f2f6a42ed13d1df5.zip | |
ReadOnly: Change the ctdb_db structure to keep a uint8_t for flags instead of a boolean for
the persistent flag.
This is the same size as the original boolean but allows ut to add additional flags for the database
(This used to be ctdb commit 7462761638d25880ad46024ad4ef21667eb99a98)
Diffstat (limited to 'ctdb/server')
| -rw-r--r-- | ctdb/server/ctdb_recover.c | 4 | ||||
| -rw-r--r-- | ctdb/server/ctdb_recoverd.c | 9 |
2 files changed, 8 insertions, 5 deletions
diff --git a/ctdb/server/ctdb_recover.c b/ctdb/server/ctdb_recover.c index f865dbadfb..bfd9bae772 100644 --- a/ctdb/server/ctdb_recover.c +++ b/ctdb/server/ctdb_recover.c @@ -187,7 +187,9 @@ ctdb_control_getdbmap(struct ctdb_context *ctdb, uint32_t opcode, TDB_DATA indat dbid_map->num = len; for (i=0,ctdb_db=ctdb->db_list;ctdb_db;i++,ctdb_db=ctdb_db->next){ dbid_map->dbs[i].dbid = ctdb_db->db_id; - dbid_map->dbs[i].persistent = ctdb_db->persistent; + if (ctdb_db->persistent != 0) { + dbid_map->dbs[i].flags |= CTDB_DB_FLAGS_PERSISTENT; + } } return 0; diff --git a/ctdb/server/ctdb_recoverd.c b/ctdb/server/ctdb_recoverd.c index 2db9109532..44a9e4bfad 100644 --- a/ctdb/server/ctdb_recoverd.c +++ b/ctdb/server/ctdb_recoverd.c @@ -439,7 +439,8 @@ static int create_missing_remote_databases(struct ctdb_context *ctdb, struct ctd return -1; } ctdb_ctrl_createdb(ctdb, CONTROL_TIMEOUT(), nodemap->nodes[j].pnn, - mem_ctx, name, dbmap->dbs[db].persistent); + mem_ctx, name, + dbmap->dbs[db].flags & CTDB_DB_FLAGS_PERSISTENT); if (ret != 0) { DEBUG(DEBUG_ERR, (__location__ " Unable to create remote db:%s\n", name)); return -1; @@ -502,7 +503,7 @@ static int create_missing_local_databases(struct ctdb_context *ctdb, struct ctdb return -1; } ctdb_ctrl_createdb(ctdb, CONTROL_TIMEOUT(), pnn, mem_ctx, name, - remote_dbmap->dbs[db].persistent); + remote_dbmap->dbs[db].flags & CTDB_DB_FLAGS_PERSISTENT); if (ret != 0) { DEBUG(DEBUG_ERR, (__location__ " Unable to create local db:%s\n", name)); return -1; @@ -823,7 +824,7 @@ static void vacuum_fetch_handler(struct ctdb_context *ctdb, uint64_t srvid, for (i=0;i<dbmap->num;i++) { if (dbmap->dbs[i].dbid == recs->db_id) { - persistent = dbmap->dbs[i].persistent; + persistent = dbmap->dbs[i].flags & CTDB_DB_FLAGS_PERSISTENT; break; } } @@ -1515,7 +1516,7 @@ static int do_recovery(struct ctdb_recoverd *rec, for (i=0;i<dbmap->num;i++) { ret = recover_database(rec, mem_ctx, dbmap->dbs[i].dbid, - dbmap->dbs[i].persistent, + dbmap->dbs[i].flags & CTDB_DB_FLAGS_PERSISTENT, pnn, nodemap, generation); if (ret != 0) { DEBUG(DEBUG_ERR, (__location__ " Failed to recover database 0x%x\n", dbmap->dbs[i].dbid)); |
