"Yanfei Xu" <[email protected]> writes: > qio_channel_rdma_shutdown() reads rdmain for both the input and > output contexts. As a result, a write-side shutdown marks the input > context as errored while leaving the output context active. A shutdown > of both directions also fails to stop the output context. > > Read rdmaout from the output context so each shutdown direction marks > the corresponding RDMA context as errored. > > Fixes: 54db882f073a ("migration: implement the shutdown for RDMA QIOChannel") > Signed-off-by: Yanfei Xu <[email protected]> > --- > migration/rdma.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/migration/rdma.c b/migration/rdma.c > index 438419d189..e17ace62b0 100644 > --- a/migration/rdma.c > +++ b/migration/rdma.c > @@ -2982,7 +2982,7 @@ qio_channel_rdma_shutdown(QIOChannel *ioc, > RCU_READ_LOCK_GUARD(); > > rdmain = qatomic_rcu_read(&rioc->rdmain); > - rdmaout = qatomic_rcu_read(&rioc->rdmain); > + rdmaout = qatomic_rcu_read(&rioc->rdmaout); > > switch (how) { > case QIO_CHANNEL_SHUTDOWN_READ:
Reviewed-by: Fabiano Rosas <[email protected]>
