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
---
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