* Chuan Zheng (zhengch...@huawei.com) wrote: > MultiFDSendParams and MultiFDRecvParams is need for rdma, export it > > Signed-off-by: Zhimin Feng <fengzhim...@huawei.com> > Signed-off-by: Chuan Zheng <zhengch...@huawei.com>
I think these become simpler if you just return a NULL on error, also I think you can make 'id' unsigned and then you don't have to worry about it being negative. Also, please make it start with multifd_ so we know where it's coming from; so: MultiFDSendParams *multifd_send_param_get(unsigned channel); Dave > --- > migration/multifd.c | 26 ++++++++++++++++++++++++++ > migration/multifd.h | 2 ++ > 2 files changed, 28 insertions(+) > > diff --git a/migration/multifd.c b/migration/multifd.c > index 5d34950..ae0b7f0 100644 > --- a/migration/multifd.c > +++ b/migration/multifd.c > @@ -390,6 +390,19 @@ struct { > MultiFDSetup *setup_ops; > } *multifd_send_state; > > +int get_multifd_send_param(int id, MultiFDSendParams **param) > +{ > + int ret = 0; > + > + if (id < 0 || id >= migrate_multifd_channels()) { > + ret = -1; > + } else { > + *param = &(multifd_send_state->params[id]); > + } > + > + return ret; > +} > + > /* > * How we use multifd_send_state->pages and channel->pages? > * > @@ -934,6 +947,19 @@ struct { > MultiFDSetup *setup_ops; > } *multifd_recv_state; > > +int get_multifd_recv_param(int id, MultiFDRecvParams **param) > +{ > + int ret = 0; > + > + if (id < 0 || id >= migrate_multifd_channels()) { > + ret = -1; > + } else { > + *param = &(multifd_recv_state->params[id]); > + } > + > + return ret; > +} > + > static void multifd_recv_terminate_threads(Error *err) > { > int i; > diff --git a/migration/multifd.h b/migration/multifd.h > index e3ab4b0..d57756c 100644 > --- a/migration/multifd.h > +++ b/migration/multifd.h > @@ -176,6 +176,8 @@ typedef struct { > #ifdef CONFIG_RDMA > extern MultiFDSetup multifd_rdma_ops; > #endif > +int get_multifd_send_param(int id, MultiFDSendParams **param); > +int get_multifd_recv_param(int id, MultiFDRecvParams **param); > MultiFDSetup *multifd_setup_ops_init(void); > > void multifd_register_ops(int method, MultiFDMethods *ops); > -- > 1.8.3.1 > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK