From 789c5919cf355afdac9ed24e468c8009df0f163b Mon Sep 17 00:00:00 2001 From: Donatas Abraitis Date: Tue, 19 Apr 2022 14:01:13 +0300 Subject: [PATCH] vtysh: Call fflush+fsync before calling fclose() when saving the config A safety check we flushed the data to the storage. Signed-off-by: Donatas Abraitis --- vtysh/vtysh.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c index 0b85b2ea49..74886254bd 100644 --- a/vtysh/vtysh.c +++ b/vtysh/vtysh.c @@ -3361,6 +3361,18 @@ int vtysh_write_config_integrated(void) err++; } + if (fflush(fp) != 0) { + printf("%% Warning: fflush() failed on %s: %s\n", frr_config, + safe_strerror(errno)); + err++; + } + + if (fsync(fd) < 0) { + printf("%% Warning: fsync() failed on %s: %s\n", frr_config, + safe_strerror(errno)); + err++; + } + fclose(fp); printf("Integrated configuration saved to %s\n", frr_config);