ifcfg-rh: reread from disk when adding new connection
This commit is contained in:
@@ -679,15 +679,16 @@ add_connection (NMSettingsPlugin *config,
|
|||||||
{
|
{
|
||||||
SettingsPluginIfcfg *self = SETTINGS_PLUGIN_IFCFG (config);
|
SettingsPluginIfcfg *self = SETTINGS_PLUGIN_IFCFG (config);
|
||||||
gs_free char *path = NULL;
|
gs_free char *path = NULL;
|
||||||
|
gs_unref_object NMConnection *reread = NULL;
|
||||||
|
|
||||||
if (save_to_disk) {
|
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;
|
return NULL;
|
||||||
} else {
|
} else {
|
||||||
if (!nms_ifcfg_rh_writer_can_write_connection (connection, error))
|
if (!nms_ifcfg_rh_writer_can_write_connection (connection, error))
|
||||||
return NULL;
|
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
|
static void
|
||||||
|
@@ -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
|
* 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
|
* in-memory representation of what we collected above. But the reader
|
||||||
* does not yet allow to inject the configuration. */
|
* does not yet allow to inject the configuration. */
|
||||||
if ( (out_reread || out_reread_same)
|
if (out_reread || out_reread_same) {
|
||||||
&& !do_write_reread (connection,
|
if (!do_write_reread (connection,
|
||||||
svFileGetName (ifcfg),
|
svFileGetName (ifcfg),
|
||||||
out_reread,
|
out_reread,
|
||||||
out_reread_same,
|
out_reread_same,
|
||||||
&local)) {
|
&local)) {
|
||||||
_LOGW ("write: failure to re-read connection \"%s\": %s",
|
_LOGW ("write: failure to re-read connection \"%s\": %s",
|
||||||
svFileGetName (ifcfg), local->message);
|
svFileGetName (ifcfg), local->message);
|
||||||
g_clear_error (&local);
|
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 */
|
/* Only return the filename if this was a newly written ifcfg */
|
||||||
|
Reference in New Issue
Block a user