If we're unable to set our sockets into repair mode, we won't be able to complete our migration. However flow_migrate_source_pre() currently ignores errors from repair_flush(). Propagate the error instead. Since we're not currently able to properly roll back a partial migration setup this fails rather messily, but better than carrying on as if nothing was wrong. [This is a candidate to fold into the earlier patch] Signed-off-by: David Gibson <david(a)gibson.dropbear.id.au> --- flow.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/flow.c b/flow.c index 8fcf8c44..ceb20183 100644 --- a/flow.c +++ b/flow.c @@ -898,7 +898,8 @@ int flow_migrate_source_pre(struct ctx *c, struct migrate_meta *m) return rc; /* TODO: rollback */ } - repair_flush(c); /* TODO: move to TCP logic */ + if ((rc = repair_flush(c))) /* TODO: move to TCP logic */ + return rc; for (i = 0; i < FLOW_MAX; i++) { /* TODO: iterator with skip */ union flow *flow = &flowtab[i]; -- 2.48.1