Message ID | 20230928132019.2544702-8-armbru@redhat.com |
---|---|
State | New |
Headers | show |
Series | migration/rdma: Error handling fixes | expand |
Markus Armbruster <armbru@redhat.com> wrote: > qemu_rdma_exchange_get_response() compares int parameter @expecting > with uint32_t head->type. Actual arguments are non-negative > enumeration constants, RDMAControlHeader uint32_t member type, or > qemu_rdma_exchange_recv() int parameter expecting. Actual arguments > for the latter are non-negative enumeration constants. Change both > parameters to uint32_t. > > In qio_channel_rdma_readv(), loop control variable @i is ssize_t, and > counts from 0 up to @niov, which is size_t. Change @i to size_t. > > While there, make qio_channel_rdma_readv() and > qio_channel_rdma_writev() more consistent: change the former's @done > to ssize_t, and delete the latter's useless initialization of @len. > > Signed-off-by: Markus Armbruster <armbru@redhat.com> > Reviewed-by: Fabiano Rosas <farosas@suse.de> Reviewed-by: Juan Quintela <quintela@redhat.com>
On 28/09/2023 21:19, Markus Armbruster wrote: > qemu_rdma_exchange_get_response() compares int parameter @expecting > with uint32_t head->type. Actual arguments are non-negative > enumeration constants, RDMAControlHeader uint32_t member type, or > qemu_rdma_exchange_recv() int parameter expecting. Actual arguments > for the latter are non-negative enumeration constants. Change both > parameters to uint32_t. > > In qio_channel_rdma_readv(), loop control variable @i is ssize_t, and > counts from 0 up to @niov, which is size_t. Change @i to size_t. > > While there, make qio_channel_rdma_readv() and > qio_channel_rdma_writev() more consistent: change the former's @done > to ssize_t, and delete the latter's useless initialization of @len. > > Signed-off-by: Markus Armbruster<armbru@redhat.com> > Reviewed-by: Fabiano Rosas<farosas@suse.de> Reviewed-by: Li Zhijian <lizhijian@fujitsu.com>
diff --git a/migration/rdma.c b/migration/rdma.c index 5f423f66f0..faca0ed998 100644 --- a/migration/rdma.c +++ b/migration/rdma.c @@ -1801,7 +1801,7 @@ static int qemu_rdma_post_recv_control(RDMAContext *rdma, int idx) * Block and wait for a RECV control channel message to arrive. */ static int qemu_rdma_exchange_get_response(RDMAContext *rdma, - RDMAControlHeader *head, int expecting, int idx) + RDMAControlHeader *head, uint32_t expecting, int idx) { uint32_t byte_len; int ret = qemu_rdma_block_for_wrid(rdma, RDMA_WRID_RECV_CONTROL + idx, @@ -1959,7 +1959,7 @@ static int qemu_rdma_exchange_send(RDMAContext *rdma, RDMAControlHeader *head, * control-channel message. */ static int qemu_rdma_exchange_recv(RDMAContext *rdma, RDMAControlHeader *head, - int expecting) + uint32_t expecting) { RDMAControlHeader ready = { .len = 0, @@ -2765,8 +2765,7 @@ static ssize_t qio_channel_rdma_writev(QIOChannel *ioc, RDMAContext *rdma; int ret; ssize_t done = 0; - size_t i; - size_t len = 0; + size_t i, len; RCU_READ_LOCK_GUARD(); rdma = qatomic_rcu_read(&rioc->rdmaout); @@ -2851,8 +2850,8 @@ static ssize_t qio_channel_rdma_readv(QIOChannel *ioc, RDMAContext *rdma; RDMAControlHeader head; int ret = 0; - ssize_t i; - size_t done = 0, len; + ssize_t done = 0; + size_t i, len; RCU_READ_LOCK_GUARD(); rdma = qatomic_rcu_read(&rioc->rdmain);