if (r < 0) {
lderr(m_cct) << "failed to build migration format handler: "
<< cpp_strerror(r) << dendl;
- (*m_src_image_ctx)->state->close();
- finish(r);
+ close_image(r);
return;
}
if (r < 0) {
lderr(m_cct) << "failed to open migration format: " << cpp_strerror(r)
<< dendl;
- finish(r);
+ close_image(r);
return;
}
snapshot->close(gather_ctx->new_sub());
}
- m_image_ctx->state->close(new LambdaContext(
- [r, on_finish=gather_ctx->new_sub()](int _) { on_finish->complete(r); }));
+ auto ctx = gather_ctx->new_sub();
+ ctx->complete(r);
gather_ctx->activate();
return;
})));
}
- void expect_close(MockTestImageCtx &mock_image_ctx, int r) {
- EXPECT_CALL(*mock_image_ctx.state, close(_))
- .WillOnce(Invoke([r](Context* ctx) {
- ctx->complete(r);
- }));
- }
-
json_spirit::mObject json_object;
};
expect_snapshot_open(*mock_snapshot_interface, -ENOENT);
expect_snapshot_close(*mock_snapshot_interface, 0);
- expect_close(mock_image_ctx, 0);
MockRawFormat mock_raw_format(&mock_image_ctx, json_object,
&mock_source_spec_builder);
expect_snapshot_close(*mock_snapshot_interface_1, 0);
expect_snapshot_close(*mock_snapshot_interface_head, 0);
- expect_close(mock_image_ctx, 0);
json_spirit::mArray snapshots;
snapshots.push_back(json_spirit::mObject{});