use member data_extra_pool of RGWZonePlacementInfo isn't properly, because it maybe not configured.
Fixes: http://tracker.ceph.com/issues/20064
Signed-off-by: fang yuxiang <fang.yuxiang@eisoo.com>
if (!obj.in_extra_data) {
*pool = placement.data_pool;
} else {
- *pool = placement.data_extra_pool;
+ *pool = placement.get_data_extra_pool();
}
}
}
DECODE_FINISH(bl);
}
- const rgw_pool& get_data_extra_pool() {
+ const rgw_pool& get_data_extra_pool() const {
if (data_extra_pool.empty()) {
return data_pool;
}
if (!obj.in_extra_data) {
*pool = iter->second.data_pool;
} else {
- *pool = iter->second.data_extra_pool;
+ *pool = iter->second.get_data_extra_pool();
}
return true;
}