machine: Improve error message when using default RAM backend id
For migration purposes, users might want to reuse the default RAM backend id, but specify a different memory backend. For example, to reuse "pc.ram" on q35, one has to set -machine q35,memory-backend=pc.ram Only then, can a memory backend with the id "pc.ram" be created manually. Let's improve the error message by improving the hint. Use error_append_hint() -- which in turn requires ERRP_GUARD(). Message-ID: <20230906120503.359863-12-david@redhat.com> Suggested-by: ThinerLogoer <logoerthiner1@163.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Tested-by: Mario Casquero <mcasquer@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: David Hildenbrand <david@redhat.com>
This commit is contained in:
parent
6da4b1c25d
commit
41ddcd2308
@ -1355,6 +1355,7 @@ out:
|
||||
|
||||
void machine_run_board_init(MachineState *machine, const char *mem_path, Error **errp)
|
||||
{
|
||||
ERRP_GUARD();
|
||||
MachineClass *machine_class = MACHINE_GET_CLASS(machine);
|
||||
ObjectClass *oc = object_class_by_name(machine->cpu_type);
|
||||
CPUClass *cc;
|
||||
@ -1383,9 +1384,13 @@ void machine_run_board_init(MachineState *machine, const char *mem_path, Error *
|
||||
numa_uses_legacy_mem()) {
|
||||
if (object_property_find(object_get_objects_root(),
|
||||
machine_class->default_ram_id)) {
|
||||
error_setg(errp, "object name '%s' is reserved for the default"
|
||||
" RAM backend, it can't be used for any other purposes."
|
||||
" Change the object's 'id' to something else",
|
||||
error_setg(errp, "object's id '%s' is reserved for the default"
|
||||
" RAM backend, it can't be used for any other purposes",
|
||||
machine_class->default_ram_id);
|
||||
error_append_hint(errp,
|
||||
"Change the object's 'id' to something else or disable"
|
||||
" automatic creation of the default RAM backend by setting"
|
||||
" 'memory-backend=%s' with '-machine'.\n",
|
||||
machine_class->default_ram_id);
|
||||
return;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user