Dead definition?


Colin Ngam
 

Greetings,

 

struct cont_snap_destroy_in {

    struct cont_op_in cei_op;

    daos_epoch_t cei_epoch;

};

 

struct cont_snap_destroy_out {

    struct cont_op_out ceo_op;

    daos_epoch_t ceo_epoch;

};

 

Looks dead as the routine ds_cont_snap_destroy() seems to use:

struct cont_epoch_op_in {

    struct cont_op_in cei_op;

    daos_epoch_t cei_epoch;

};

 

struct cont_epoch_op_out {

    struct cont_op_out ceo_op;

    daos_epoch_t ceo_epoch;

};

 

Thanks.

 

Colin

 

 

 


Li, Wei G
 

Hi Colin,

This part could use some improvements indeed. The “in” and “out” structs are generated by macros from src/container/rpc.h:

CRT_RPC_DECLARE(cont_snap_create, DAOS_ISEQ_CONT_EPOCH_OP,
DAOS_OSEQ_CONT_EPOCH_OP)
CRT_RPC_DECLARE(cont_snap_destroy, DAOS_ISEQ_CONT_EPOCH_OP,
DAOS_OSEQ_CONT_EPOCH_OP)

I think ds_cont_snap_{create,destroy} should, instead, use cont_snap_{create,destroy}_{in,out} that differ from cont_epoch_op_{in,out}. For “create”, cei_epoch doesn’t really apply (i.e., DAOS-4453); for “destroy”, so doesn’t eco_epoch. We shall make this RPC format change early, if possible.

Thanks,
liwei

On May 8, 2020, at 8:12 AM, Colin Ngam <colin.ngam@...> wrote:

Greetings,

struct cont_snap_destroy_in {
struct cont_op_in cei_op;
daos_epoch_t cei_epoch;
};

struct cont_snap_destroy_out {
struct cont_op_out ceo_op;
daos_epoch_t ceo_epoch;
};

Looks dead as the routine ds_cont_snap_destroy() seems to use:
struct cont_epoch_op_in {
struct cont_op_in cei_op;
daos_epoch_t cei_epoch;
};

struct cont_epoch_op_out {
struct cont_op_out ceo_op;
daos_epoch_t ceo_epoch;
};

Thanks.

Colin