diff options
author | Sage Weil <sage@inktank.com> | 2013-06-24 20:41:15 -0700 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-06-24 20:41:15 -0700 |
commit | 37a20174fd22a79938ba9c93046e8830f4a3306f (patch) | |
tree | ad6d302586850b56c6c4f51c792603c3f6ab262c | |
parent | 3791a1e55828ba541f9d3e8e3df0da8e79c375f9 (diff) | |
parent | 9ae0ec83dabe37ac15e5165559debdfef7a5f91d (diff) | |
download | ceph-37a20174fd22a79938ba9c93046e8830f4a3306f.tar.gz |
Merge remote-tracking branch 'gh/next'
-rw-r--r-- | README | 3 | ||||
-rw-r--r-- | src/common/pick_address.cc | 24 | ||||
-rw-r--r-- | src/init-radosgw.sysv | 2 | ||||
-rw-r--r-- | src/mon/AuthMonitor.cc | 8 | ||||
-rw-r--r-- | src/mon/Elector.cc | 1 | ||||
-rw-r--r-- | src/mon/Monitor.cc | 1 |
6 files changed, 34 insertions, 5 deletions
@@ -126,7 +126,8 @@ To build the source code, you must install the following: - libleveldb-dev - libsnappy-dev - libcurl4-gnutls-dev +- python-argparse For example: - $ apt-get install automake autoconf pkg-config gcc g++ make libboost-dev libedit-dev libssl-dev libtool libfcgi libfcgi-dev libfuse-dev linux-kernel-headers libcrypto++-dev libaio-dev libgoogle-perftools-dev libkeyutils-dev uuid-dev libatomic-ops-dev libboost-program-options-dev libboost-thread-dev libexpat1-dev libleveldb-dev libsnappy-dev libcurl4-gnutls-dev + $ apt-get install automake autoconf pkg-config gcc g++ make libboost-dev libedit-dev libssl-dev libtool libfcgi libfcgi-dev libfuse-dev linux-kernel-headers libcrypto++-dev libaio-dev libgoogle-perftools-dev libkeyutils-dev uuid-dev libatomic-ops-dev libboost-program-options-dev libboost-thread-dev libexpat1-dev libleveldb-dev libsnappy-dev libcurl4-gnutls-dev python-argparse diff --git a/src/common/pick_address.cc b/src/common/pick_address.cc index 90327666ad5..ff036c61360 100644 --- a/src/common/pick_address.cc +++ b/src/common/pick_address.cc @@ -48,6 +48,24 @@ static const struct sockaddr *find_ip_in_subnet_list(CephContext *cct, return NULL; } +// observe this change +struct Observer : public md_config_obs_t { + const char *conf_var; + Observer(const char *c) : conf_var(c) {} + + const char** get_tracked_conf_keys() const { + static const char *foo[] = { + conf_var, + NULL + }; + return foo; + } + void handle_conf_change(const struct md_config_t *conf, + const std::set <std::string> &changed) { + // do nothing. + } +}; + static void fill_in_one_address(CephContext *cct, const struct ifaddrs *ifa, const string networks, @@ -75,8 +93,14 @@ static void fill_in_one_address(CephContext *cct, exit(1); } + Observer obs(conf_var); + + cct->_conf->add_observer(&obs); + cct->_conf->set_val_or_die(conf_var, buf); cct->_conf->apply_changes(NULL); + + cct->_conf->remove_observer(&obs); } void pick_addresses(CephContext *cct, int needs) diff --git a/src/init-radosgw.sysv b/src/init-radosgw.sysv index da80ae19be8..8a47a07a9a9 100644 --- a/src/init-radosgw.sysv +++ b/src/init-radosgw.sysv @@ -1,4 +1,4 @@ -#! /bin/bash -x +#! /bin/bash ### BEGIN INIT INFO # Provides: radosgw # Required-Start: $remote_fs $named $network $time diff --git a/src/mon/AuthMonitor.cc b/src/mon/AuthMonitor.cc index 4dbdd3a11b4..9901dab7def 100644 --- a/src/mon/AuthMonitor.cc +++ b/src/mon/AuthMonitor.cc @@ -95,6 +95,11 @@ void AuthMonitor::create_initial() { dout(10) << "create_initial -- creating initial map" << dendl; + // initialize rotating keys + last_rotating_ver = 0; + check_rotate(); + assert(pending_auth.size() == 1); + KeyRing keyring; bufferlist bl; int ret = mon->store->get("mkfs", "keyring", bl); @@ -110,9 +115,6 @@ void AuthMonitor::create_initial() inc.inc_type = GLOBAL_ID; inc.max_global_id = max_global_id; pending_auth.push_back(inc); - - // initalize rotating keys, too - check_rotate(); } void AuthMonitor::update_from_paxos(bool *need_bootstrap) diff --git a/src/mon/Elector.cc b/src/mon/Elector.cc index b3db1afab3c..7172510d807 100644 --- a/src/mon/Elector.cc +++ b/src/mon/Elector.cc @@ -346,6 +346,7 @@ void Elector::dispatch(Message *m) t.put("monmap", "last_committed", mon->monmap->epoch); mon->store->apply_transaction(t); //mon->monmon()->paxos->stash_latest(mon->monmap->epoch, em->monmap_bl); + cancel_timer(); mon->bootstrap(); m->put(); delete peermap; diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index cf36a09a5cb..3691fd0b5cd 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -715,6 +715,7 @@ void Monitor::reset() { dout(10) << "reset" << dendl; + cancel_probe_timeout(); timecheck_finish(); leader_since = utime_t(); |