checkpoint: refactor setting error for lookup checkpoint failure

This changes the error reason in nm_checkpoint_manager_rollback()
from NM_MANAGER_ERROR_FAILED to NM_MANAGER_ERROR_INVALID_ARGUMENTS.
This commit is contained in:
Thomas Haller
2018-03-28 09:05:23 +02:00
parent 5c283356a1
commit 56500e5964
2 changed files with 11 additions and 15 deletions

View File

@@ -227,14 +227,9 @@ nm_checkpoint_manager_destroy (NMCheckpointManager *self,
return TRUE; return TRUE;
} }
checkpoint = nm_checkpoint_manager_lookup_by_path (self, path); checkpoint = nm_checkpoint_manager_lookup_by_path (self, path, error);
if (!checkpoint) { if (!checkpoint)
g_set_error (error,
NM_MANAGER_ERROR,
NM_MANAGER_ERROR_INVALID_ARGUMENTS,
"checkpoint %s does not exist", path);
return FALSE; return FALSE;
}
destroy_checkpoint (self, checkpoint, TRUE); destroy_checkpoint (self, checkpoint, TRUE);
return TRUE; return TRUE;
@@ -253,19 +248,16 @@ nm_checkpoint_manager_rollback (NMCheckpointManager *self,
g_return_val_if_fail (results, FALSE); g_return_val_if_fail (results, FALSE);
g_return_val_if_fail (!error || !*error, FALSE); g_return_val_if_fail (!error || !*error, FALSE);
checkpoint = nm_checkpoint_manager_lookup_by_path (self, path); checkpoint = nm_checkpoint_manager_lookup_by_path (self, path, error);
if (!checkpoint) { if (!checkpoint)
g_set_error (error, NM_MANAGER_ERROR, NM_MANAGER_ERROR_FAILED,
"checkpoint %s does not exist", path);
return FALSE; return FALSE;
}
*results = rollback_checkpoint (self, checkpoint); *results = rollback_checkpoint (self, checkpoint);
return TRUE; return TRUE;
} }
NMCheckpoint * NMCheckpoint *
nm_checkpoint_manager_lookup_by_path (NMCheckpointManager *self, const char *path) nm_checkpoint_manager_lookup_by_path (NMCheckpointManager *self, const char *path, GError **error)
{ {
NMCheckpoint *checkpoint; NMCheckpoint *checkpoint;
@@ -274,8 +266,11 @@ nm_checkpoint_manager_lookup_by_path (NMCheckpointManager *self, const char *pat
checkpoint = (NMCheckpoint *) nm_dbus_manager_lookup_object (nm_dbus_object_get_manager (NM_DBUS_OBJECT (GET_MANAGER (self))), checkpoint = (NMCheckpoint *) nm_dbus_manager_lookup_object (nm_dbus_object_get_manager (NM_DBUS_OBJECT (GET_MANAGER (self))),
path); path);
if ( !checkpoint if ( !checkpoint
|| !NM_IS_CHECKPOINT (checkpoint)) || !NM_IS_CHECKPOINT (checkpoint)) {
g_set_error (error, NM_MANAGER_ERROR, NM_MANAGER_ERROR_INVALID_ARGUMENTS,
"checkpoint %s does not exist", path);
return NULL; return NULL;
}
nm_assert (c_list_contains (&self->checkpoints_lst_head, &checkpoint->checkpoints_lst)); nm_assert (c_list_contains (&self->checkpoints_lst_head, &checkpoint->checkpoints_lst));
return checkpoint; return checkpoint;

View File

@@ -32,7 +32,8 @@ NMCheckpointManager *nm_checkpoint_manager_new (NMManager *manager, GParamSpec *
void nm_checkpoint_manager_free (NMCheckpointManager *self); void nm_checkpoint_manager_free (NMCheckpointManager *self);
NMCheckpoint *nm_checkpoint_manager_lookup_by_path (NMCheckpointManager *self, NMCheckpoint *nm_checkpoint_manager_lookup_by_path (NMCheckpointManager *self,
const char *path); const char *path,
GError **error);
NMCheckpoint *nm_checkpoint_manager_create (NMCheckpointManager *self, NMCheckpoint *nm_checkpoint_manager_create (NMCheckpointManager *self,
const char *const*device_names, const char *const*device_names,