Rev 575: added --nosetsched option to ctdbd in
http://samba.org/~tridge/ctdb
tridge at samba.org
tridge at samba.org
Thu Jul 12 22:47:04 GMT 2007
------------------------------------------------------------
revno: 575
revision-id: tridge at samba.org-20070712224702-yrnzfuhx5irg02jo
parent: tridge at samba.org-20070710081347-5jd8uwf5k5mhbv02
committer: Andrew Tridgell <tridge at samba.org>
branch nick: tridge
timestamp: Fri 2007-07-13 08:47:02 +1000
message:
added --nosetsched option to ctdbd
modified:
config/functions functions-20070601105405-gajwirydr5a9zd6x-1
include/ctdb_private.h ctdb_private.h-20061117234101-o3qt14umlg9en8z0-13
server/ctdb_daemon.c ctdb_daemon.c-20070409200331-3el1kqgdb9m4ib0g-1
server/ctdbd.c ctdbd.c-20070411085044-dqmhr6mfeexnyt4m-1
server/eventscript.c eventscript.c-20070704074533-95f10rsay8um8wrr-1
=== modified file 'config/functions'
--- a/config/functions 2007-06-17 02:05:29 +0000
+++ b/config/functions 2007-07-12 22:47:02 +0000
@@ -43,6 +43,7 @@
echo "ctdb daemon has died. Exiting wait for $service_name"
exit 1
}
+ [ $all_ok -eq 1 ] || sleep 1
done
echo "`/bin/date` Local service $service_name is up"
}
=== modified file 'include/ctdb_private.h'
--- a/include/ctdb_private.h 2007-07-10 05:29:31 +0000
+++ b/include/ctdb_private.h 2007-07-12 22:47:02 +0000
@@ -307,6 +307,7 @@
struct ctdb_takeover takeover;
struct ctdb_tcp_list *tcp_list;
struct ctdb_client_ip *client_ip_list;
+ bool do_setsched;
};
struct ctdb_db_context {
=== modified file 'server/ctdb_daemon.c'
--- a/server/ctdb_daemon.c 2007-07-10 05:29:31 +0000
+++ b/server/ctdb_daemon.c 2007-07-12 22:47:02 +0000
@@ -644,8 +644,10 @@
}
block_signal(SIGPIPE);
- /* try to set us up as realtime */
- ctdb_set_realtime(true);
+ if (ctdb->do_setsched) {
+ /* try to set us up as realtime */
+ ctdb_set_realtime(true);
+ }
/* ensure the socket is deleted on exit of the daemon */
domain_socket_name = talloc_strdup(talloc_autofree_context(), ctdb->daemon.name);
=== modified file 'server/ctdbd.c'
--- a/server/ctdbd.c 2007-07-10 05:29:31 +0000
+++ b/server/ctdbd.c 2007-07-12 22:47:02 +0000
@@ -47,6 +47,7 @@
const char *logfile;
const char *recovery_lock_file;
const char *db_dir;
+ int no_setsched;
} options = {
.nlist = ETCDIR "/ctdb/nodes",
.transport = "tcp",
@@ -108,6 +109,7 @@
{ "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 },
{ "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 },
POPT_TABLEEND
};
int opt, ret;
@@ -224,6 +226,8 @@
talloc_free(name);
}
+ ctdb->do_setsched = !!options.no_setsched;
+
/* start the protocol running (as a child) */
return ctdb_start_daemon(ctdb, interactive?False:True);
}
=== modified file 'server/eventscript.c'
--- a/server/eventscript.c 2007-07-10 05:29:31 +0000
+++ b/server/eventscript.c 2007-07-12 22:47:02 +0000
@@ -166,7 +166,9 @@
if (state->child == 0) {
close(state->fd[0]);
- ctdb_set_realtime(false);
+ if (ctdb->do_setsched) {
+ ctdb_set_realtime(false);
+ }
set_close_on_exec(state->fd[1]);
va_start(ap, fmt);
ret = ctdb_event_script_v(ctdb, fmt, ap);
More information about the samba-cvs
mailing list