(access(m_log_pool_name.c_str(), F_OK) != 0)) {
ldout(cct, 5) << "Can't find the existed pool file " << m_log_pool_name << dendl;
on_finish->complete(-errno);
+ return;
}
initialize_pool(on_finish, later);
nullptr, nullptr, nullptr);
int r = bdev->open(this->m_log_pool_name);
if (r < 0) {
+ lderr(m_image_ctx.cct) << "fail to open block device." << dendl;
delete bdev;
- on_finish->complete(-1);
- return;
+ on_finish->complete(r);
+ return false;
}
m_cache_state->present = true;
m_cache_state->clean = true;
if (r != 0) {
lderr(m_image_ctx.cct) << "failed to initialize pool ("
<< this->m_log_pool_name << ")" << dendl;
+ bdev->close();
+ delete bdev;
on_finish->complete(r);
+ return false;
}
} else {
m_cache_state->present = true;