diff options
author | Yehuda Sadeh <yehuda@inktank.com> | 2013-08-22 10:53:12 -0700 |
---|---|---|
committer | Yehuda Sadeh <yehuda@inktank.com> | 2013-08-22 14:31:06 -0700 |
commit | 3d55534268de7124d29bd365ea65da8d2f63e501 (patch) | |
tree | 865d81782518350fb466205241468e8470f3dcd1 | |
parent | 617dc36d477fd83b2d45034fe6311413aa1866df (diff) | |
download | ceph-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.cc | 16 |
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; |