summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYehuda Sadeh <yehuda@inktank.com>2013-08-22 10:53:12 -0700
committerYehuda Sadeh <yehuda@inktank.com>2013-08-22 14:31:06 -0700
commit3d55534268de7124d29bd365ea65da8d2f63e501 (patch)
tree865d81782518350fb466205241468e8470f3dcd1
parent617dc36d477fd83b2d45034fe6311413aa1866df (diff)
downloadceph-3d55534268de7124d29bd365ea65da8d2f63e501.tar.gz
rgw: fix crash when creating new zone on init
Moving the watch/notify init before the zone init, as we might need to send a notification. Reviewed-by: Sage Weil <sage@inktank.com> Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
-rw-r--r--src/rgw/rgw_rados.cc16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc
index 0bbbf177b7a..03cc1ebfdb3 100644
--- a/src/rgw/rgw_rados.cc
+++ b/src/rgw/rgw_rados.cc
@@ -875,6 +875,14 @@ int RGWRados::init_complete()
{
int ret;
+ if (need_watch_notify()) {
+ ret = init_watch();
+ if (ret < 0) {
+ lderr(cct) << "ERROR: failed to initialize watch" << dendl;
+ return ret;
+ }
+ }
+
ret = region.init(cct, this);
if (ret < 0)
return ret;
@@ -912,14 +920,6 @@ int RGWRados::init_complete()
}
}
- if (need_watch_notify()) {
- ret = init_watch();
- if (ret < 0) {
- lderr(cct) << "ERROR: failed to initialize watch" << dendl;
- return ret;
- }
- }
-
map<string, RGWZone>::iterator ziter;
for (ziter = region.zones.begin(); ziter != region.zones.end(); ++ziter) {
const string& name = ziter->first;