assert(r == 0);
assert(overlap <= m_image_ctx.size);
- uint64_t object_size = m_image_ctx.get_object_size();
- uint64_t overlap_objects = Striper::get_num_objects(m_image_ctx.layout,
- overlap);
+ uint64_t overlap_objects = Striper::get_num_objects(m_image_ctx.layout,
+ overlap);
m_image_ctx.parent_lock.put_read();
m_image_ctx.snap_lock.put_read();
operation::FlattenRequest<I> *req = new operation::FlattenRequest<I>(
- m_image_ctx, new C_NotifyUpdate<I>(m_image_ctx, on_finish), object_size,
- overlap_objects, snapc, prog_ctx);
+ m_image_ctx, new C_NotifyUpdate<I>(m_image_ctx, on_finish), overlap_objects,
+ snapc, prog_ctx);
req->send();
}
class C_FlattenObject : public C_AsyncObjectThrottle<I> {
public:
C_FlattenObject(AsyncObjectThrottle<I> &throttle, I *image_ctx,
- uint64_t object_size, ::SnapContext snapc, uint64_t object_no)
- : C_AsyncObjectThrottle<I>(throttle, *image_ctx), m_object_size(object_size),
- m_snapc(snapc), m_object_no(object_no)
- {
+ ::SnapContext snapc, uint64_t object_no)
+ : C_AsyncObjectThrottle<I>(throttle, *image_ctx), m_snapc(snapc),
+ m_object_no(object_no) {
}
int send() override {
}
private:
- uint64_t m_object_size;
::SnapContext m_snapc;
uint64_t m_object_no;
};
m_state = STATE_FLATTEN_OBJECTS;
typename AsyncObjectThrottle<I>::ContextFactory context_factory(
boost::lambda::bind(boost::lambda::new_ptr<C_FlattenObject<I> >(),
- boost::lambda::_1, &image_ctx, m_object_size, m_snapc,
- boost::lambda::_2));
+ boost::lambda::_1, &image_ctx, m_snapc, boost::lambda::_2));
AsyncObjectThrottle<I> *throttle = new AsyncObjectThrottle<I>(
this, image_ctx, context_factory, this->create_callback_context(), &m_prog_ctx,
0, m_overlap_objects);
{
public:
FlattenRequest(ImageCtxT &image_ctx, Context *on_finish,
- uint64_t object_size, uint64_t overlap_objects,
- const ::SnapContext &snapc, ProgressContext &prog_ctx)
- : Request<ImageCtxT>(image_ctx, on_finish), m_object_size(object_size),
- m_overlap_objects(overlap_objects), m_snapc(snapc), m_prog_ctx(prog_ctx),
- m_ignore_enoent(false)
- {
+ uint64_t overlap_objects, const ::SnapContext &snapc,
+ ProgressContext &prog_ctx)
+ : Request<ImageCtxT>(image_ctx, on_finish), m_overlap_objects(overlap_objects),
+ m_snapc(snapc), m_prog_ctx(prog_ctx) {
}
protected:
STATE_UPDATE_CHILDREN
};
- uint64_t m_object_size;
uint64_t m_overlap_objects;
::SnapContext m_snapc;
ProgressContext &m_prog_ctx;
State m_state = STATE_FLATTEN_OBJECTS;
ParentSpec m_parent_spec;
- bool m_ignore_enoent;
+ bool m_ignore_enoent = false;
bool send_update_header();
bool send_update_children();