diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-plugin.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-plugin.c index 4a8708652..da0920ef7 100644 --- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-plugin.c +++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-plugin.c @@ -679,15 +679,16 @@ add_connection (NMSettingsPlugin *config, { SettingsPluginIfcfg *self = SETTINGS_PLUGIN_IFCFG (config); gs_free char *path = NULL; + gs_unref_object NMConnection *reread = NULL; if (save_to_disk) { - if (!nms_ifcfg_rh_writer_write_connection (connection, IFCFG_DIR, NULL, &path, NULL, NULL, error)) + if (!nms_ifcfg_rh_writer_write_connection (connection, IFCFG_DIR, NULL, &path, &reread, NULL, error)) return NULL; } else { if (!nms_ifcfg_rh_writer_can_write_connection (connection, error)) return NULL; } - return NM_SETTINGS_CONNECTION (update_connection (self, connection, path, NULL, FALSE, NULL, error)); + return NM_SETTINGS_CONNECTION (update_connection (self, reread ?: connection, path, NULL, FALSE, NULL, error)); } static void diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c index 98201524d..a8b47469c 100644 --- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c +++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c @@ -3094,15 +3094,24 @@ nms_ifcfg_rh_writer_write_connection (NMConnection *connection, * A better solution might be, to re-read the connection only based on the * in-memory representation of what we collected above. But the reader * does not yet allow to inject the configuration. */ - if ( (out_reread || out_reread_same) - && !do_write_reread (connection, - svFileGetName (ifcfg), - out_reread, - out_reread_same, - &local)) { - _LOGW ("write: failure to re-read connection \"%s\": %s", - svFileGetName (ifcfg), local->message); - g_clear_error (&local); + if (out_reread || out_reread_same) { + if (!do_write_reread (connection, + svFileGetName (ifcfg), + out_reread, + out_reread_same, + &local)) { + _LOGW ("write: failure to re-read connection \"%s\": %s", + svFileGetName (ifcfg), local->message); + g_clear_error (&local); + } else { + if ( out_reread_same + && !*out_reread_same) { + _LOGD ("write: connection %s (%s) was modified by persisting it to \"%s\" ", + nm_connection_get_id (connection), + nm_connection_get_uuid (connection), + svFileGetName (ifcfg)); + } + } } /* Only return the filename if this was a newly written ifcfg */