2 FIXME for the future
parent
aa849ea07b
commit
0880a77c1a
|
@ -142,6 +142,7 @@ struct __attribute__((__packed__)) osd_reply_secondary_list_t
|
||||||
};
|
};
|
||||||
|
|
||||||
// read or write to the primary OSD (must be within individual stripe)
|
// read or write to the primary OSD (must be within individual stripe)
|
||||||
|
// FIXME: allow to return used block bitmap (required for snaphots)
|
||||||
struct __attribute__((__packed__)) osd_op_rw_t
|
struct __attribute__((__packed__)) osd_op_rw_t
|
||||||
{
|
{
|
||||||
osd_op_header_t header;
|
osd_op_header_t header;
|
||||||
|
|
|
@ -450,6 +450,7 @@ void osd_t::continue_primary_write(osd_op_t *cur_op)
|
||||||
resume_1:
|
resume_1:
|
||||||
// Determine blocks to read and write
|
// Determine blocks to read and write
|
||||||
// Missing chunks are allowed to be overwritten even in incomplete objects
|
// Missing chunks are allowed to be overwritten even in incomplete objects
|
||||||
|
// FIXME: Allow to do small writes to the old (degraded/misplaced) OSD set for the lower performance impact
|
||||||
op_data->prev_set = get_object_osd_set(pg, op_data->oid, pg.cur_set.data(), &op_data->object_state);
|
op_data->prev_set = get_object_osd_set(pg, op_data->oid, pg.cur_set.data(), &op_data->object_state);
|
||||||
cur_op->rmw_buf = calc_rmw(cur_op->buf, op_data->stripes, op_data->prev_set,
|
cur_op->rmw_buf = calc_rmw(cur_op->buf, op_data->stripes, op_data->prev_set,
|
||||||
pg.pg_size, pg.pg_minsize, pg.pg_cursize, pg.cur_set.data(), bs_block_size);
|
pg.pg_size, pg.pg_minsize, pg.pg_cursize, pg.cur_set.data(), bs_block_size);
|
||||||
|
|
Loading…
Reference in New Issue