fix a conflict in the merge from rusty
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Wed, 16 Dec 2009 21:18:04 +0000 (08:18 +1100)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Wed, 16 Dec 2009 21:18:04 +0000 (08:18 +1100)
Merge commit 'rusty/ctdb-no-setsched'

Conflicts:

server/ctdb_vacuum.c

1  2 
client/ctdb_client.c
config/ctdb.init
include/ctdb_private.h
server/ctdb_daemon.c
server/ctdb_ltdb_server.c
server/ctdb_recoverd.c
server/ctdb_vacuum.c
server/ctdbd.c

index 7a26160b1d06a44843e6df2c5a5f9c42086aaab3,236e21a5dc566c6f26da75832a67d31749be10f9..4aad40060a6fe91ea0237aad3d09803f4ff56ad2
@@@ -1721,10 -1683,9 +1721,10 @@@ struct ctdb_db_context *ctdb_attach(str
        }
  
        tdb_flags = persistent?TDB_DEFAULT:TDB_NOSYNC;
-       if (!ctdb->do_setsched) {
+       if (ctdb->valgrinding) {
                tdb_flags |= TDB_NOMMAP;
        }
 +      tdb_flags |= TDB_DISALLOW_NESTING;
  
        ctdb_db->ltdb = tdb_wrap_open(ctdb, ctdb_db->db_path, 0, tdb_flags, O_RDWR, 0);
        if (ctdb_db->ltdb == NULL) {
Simple merge
Simple merge
Simple merge
index 47a2d6a693c2d2c488391a86ecdf53cc80bee1a1,c24d4214d54f90ae3005b79dbc77eddb905be9a7..9b3e7e071d0ca0d3dfe423d873cbc06493eae7f4
@@@ -589,12 -248,10 +589,12 @@@ static int ctdb_local_attach(struct ctd
                                           db_name, ctdb->pnn);
  
        tdb_flags = persistent? TDB_DEFAULT : TDB_CLEAR_IF_FIRST | TDB_NOSYNC;
-       if (!ctdb->do_setsched) {
+       if (ctdb->valgrinding) {
                tdb_flags |= TDB_NOMMAP;
        }
 +      tdb_flags |= TDB_DISALLOW_NESTING;
  
 +again:
        ctdb_db->ltdb = tdb_wrap_open(ctdb, ctdb_db->db_path, 
                                      ctdb->tunable.database_hash_size, 
                                      tdb_flags, 
index 088ecbba0b13eb358e2558832f4be7eff8d724a7,45b59d128a42a1b63bc7d54bb5e042d72576131e..4b407c38a40b80d726bb8175267700a1ebb67c3f
@@@ -1019,10 -1017,9 +1019,10 @@@ static struct tdb_wrap *create_recdb(st
        unlink(name);
  
        tdb_flags = TDB_NOLOCK;
-       if (!ctdb->do_setsched) {
+       if (ctdb->valgrinding) {
                tdb_flags |= TDB_NOMMAP;
        }
 +      tdb_flags |= TDB_DISALLOW_NESTING;
  
        recdb = tdb_wrap_open(mem_ctx, name, ctdb->tunable.database_hash_size, 
                              tdb_flags, O_RDWR|O_CREAT|O_EXCL, 0600);
index 2cbee309186238879f40a1cd0391855a69479977,655ecca6cf4777335bdc72b6163a11327ba744ee..22f4127375208059765da9a974bb407a3b7e1b52
@@@ -516,19 -514,19 +516,22 @@@ static int update_tuning_db(struct ctdb
        struct vacuum_tuning_data tdata;
        struct vacuum_tuning_data *tptr;
        char *vac_dbname;
+       int flags;
  
        vac_dbname = talloc_asprintf(tmp_ctx, "%s/%s.%u",
 -                                      ctdb_db->ctdb->db_directory, 
 -                                      TUNINGDBNAME, ctdb_db->ctdb->pnn);
 +                                   ctdb_db->ctdb->db_directory_state,
 +                                   TUNINGDBNAME, ctdb_db->ctdb->pnn);
        if (vac_dbname == NULL) {
                DEBUG(DEBUG_CRIT,(__location__ " Out of memory error while allocating '%s'\n", vac_dbname));
                talloc_free(tmp_ctx);
                return -1;
        }
  
 -      flags = ctdb_db->ctdb->valgrinding ? TDB_NOMMAP : 0;
 -      tune_tdb = tdb_open(vac_dbname, 0, flags, O_RDWR|O_CREAT, 0644);
++      flags  = ctdb_db->ctdb->valgrinding ? TDB_NOMMAP : 0;
++      flags |= TDB_DISALLOW_NESTING;
 +      tune_tdb = tdb_open(vac_dbname, 0,
-                           TDB_DISALLOW_NESTING,
++                          flags,
 +                          O_RDWR|O_CREAT, 0600);
        if (tune_tdb == NULL) {
                DEBUG(DEBUG_ERR,(__location__ " Failed to create/open %s\n", TUNINGDBNAME));
                talloc_free(tmp_ctx);
@@@ -689,9 -688,8 +693,11 @@@ static int get_vacuum_interval(struct c
                return interval;
        }
  
 -      flags = ctdb_db->ctdb->valgrinding ? TDB_NOMMAP : 0;
 -      tdb = tdb_open(vac_dbname, 0, flags, O_RDWR|O_CREAT, 0644);
++      flags  = ctdb_db->ctdb->valgrinding ? TDB_NOMMAP : 0;
++      flags |= TDB_DISALLOW_NESTING;
 +      tdb = tdb_open(vac_dbname, 0,
-                      TDB_DISALLOW_NESTING,
-                      O_RDWR|O_CREAT, 0644);
++                     flags,
++                     O_RDWR|O_CREAT, 0600);
        if (!tdb) {
                DEBUG(DEBUG_ERR,("Unable to open/create database %s using default interval\n", vac_dbname));
                talloc_free(tmp_ctx);
diff --cc server/ctdbd.c
index e32aa6580fab8a8625de5ac5ff00c4a86d49c9ce,80c5b150f4bc005aa87e2fe0d2aaef32fc552f65..00f630b99ac406566aec90214fa7893ac4bbe812
@@@ -129,9 -126,8 +129,9 @@@ int main(int argc, const char *argv[]
                { "transport", 0, POPT_ARG_STRING, &options.transport, 0, "protocol transport", NULL },
                { "dbdir", 0, POPT_ARG_STRING, &options.db_dir, 0, "directory for the tdb files", NULL },
                { "dbdir-persistent", 0, POPT_ARG_STRING, &options.db_dir_persistent, 0, "directory for persistent tdb files", NULL },
 +              { "dbdir-state", 0, POPT_ARG_STRING, &options.db_dir_state, 0, "directory for internal state tdb files", NULL },
                { "reclock", 0, POPT_ARG_STRING, &options.recovery_lock_file, 0, "location of recovery lock file", "filename" },
-               { "nosetsched", 0, POPT_ARG_NONE, &options.no_setsched, 0, "disable setscheduler SCHED_FIFO call", NULL },
+               { "valgrinding", 0, POPT_ARG_NONE, &options.valgrinding, 0, "make valgrind more effective", NULL },
                { "syslog", 0, POPT_ARG_NONE, &options.use_syslog, 0, "log messages to syslog", NULL },
                { "start-as-disabled", 0, POPT_ARG_NONE, &options.start_as_disabled, 0, "Node starts in disabled state", NULL },
                { "start-as-stopped", 0, POPT_ARG_NONE, &options.start_as_stopped, 0, "Node starts in stopped state", NULL },