Quoting Laszlo Ersek (2024-03-05 08:33:57) > On 3/5/24 01:40, gaoliming via groups.io wrote: > > Oliver: > > If there is no enough space, Variable driver will reclaim flash and > > reserve the enough space at boot time. > > What if the flash is genuinely fully occupied by *live* non-volatile > variables? > > Laszlo > > > At the runtime, reclaim will not be trigged. The space may be out of > > resource. The warning message may be reported. Is this your case? > >
Not exactly. It is like Laszlo describes in his question above. Background: We had the case where an OVMF based VM ran out of flash space after a large number of reboots and hardware configuration changes. The MAC address of the NIC was changing a lot over the life time of the VM. The variable store was consumed entirely by networking related non-volatile variables, written for each network card/MAC address present during boot. Almost all of those were obsolete, of course, but the error that presented itself at first was a VM that failed to boot the firmware and ended up in an rather cryptic ASSERT message. The hope is that this new message makes it easier for non-experts to diagnose the situation. The root cause is of course not addressed by this, but it might also be hard to solve. One would have to identify obsolete network/hardware settings somehow, but there is no way to tell if a certain NIC/MAC might come back at a later point or not. Thanks, Oliver > > Thanks > > Liming > >> -----\u90ae\u4ef6\u539f\u4ef6----- > >> \u53d1\u4ef6\u4eba: devel@edk2.groups.io <devel@edk2.groups.io> > >> \u4ee3\u8868 Oliver Steffen > >> \u53d1\u9001\u65f6\u95f4: 2024\u5e743\u67084\u65e5 23:18 > >> \u6536\u4ef6\u4eba: devel@edk2.groups.io > >> \u6284\u9001: Oliver Steffen <ostef...@redhat.com>; Bob Feng > >> <bob.c.f...@intel.com>; Liming Gao <gaolim...@byosoft.com.cn>; Rebecca > >> Cran <rebe...@bsdio.com>; Yuwei Chen <yuwei.c...@intel.com>; Gerd > >> Hoffmann <kra...@redhat.com>; Laszlo Ersek <ler...@redhat.com> > >> \u4e3b\u9898: [edk2-devel] [PATCH v1 1/1] MdeModulePkg: Warn if out of > >> flash space > >> when writing variables > >> > >> Emit a DEBUG_WARN message if there is not enough flash space left to > >> write/update a variable. This condition is currently not logged > >> appropriately in all cases, given that full variable store can easily > >> render the system unbootable. > >> This new message helps identifying this condition. > >> > >> Cc: Bob Feng <bob.c.f...@intel.com> > >> Cc: Gerd Hoffmann <kra...@redhat.com> > >> Cc: Laszlo Ersek <ler...@redhat.com> > >> Cc: Liming Gao <gaolim...@byosoft.com.cn> > >> Cc: Rebecca Cran <rebe...@bsdio.com> > >> Cc: Yuwei Chen <yuwei.c...@intel.com> > >> > >> Signed-off-by: Oliver Steffen <ostef...@redhat.com> > >> --- > >> MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c | 2 ++ > >> 1 file changed, 2 insertions(+) > >> > >> diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c > >> b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c > >> index d394d237a53f..1c7659031dc5 100644 > >> --- a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c > >> +++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c > >> @@ -2364,6 +2364,8 @@ UpdateVariable ( > >> ); > >> > >> ASSERT_EFI_ERROR (Status); > >> > >> } > >> > >> + } else if (Status == EFI_OUT_OF_RESOURCES) { > >> > >> + DEBUG ((DEBUG_WARN, "UpdateVariable failed: Out of flash > >> space\n")); > >> > >> } > >> > >> > >> > >> return Status; > >> > >> -- > >> 2.44.0 > >> > >> > >> > >> > >> > > > > > > > > > > > > > > > > > -- 🎩Oliver Steffen (he/him) - Software Engineer, Virtualization Red Hat GmbH <https://www.redhat.com/de/global/dach>, Registered seat: Werner-von-Siemens-Ring 12, D-85630 Grasbrunn, Germany Commercial register: Amtsgericht München/Munich, HRB 153243, Managing Directors: Ryan Barnhart, Charles Cachera, Michael O'Neill, Amy Ross Everyone has different working hours… Please do not feel obligated to reply outside of your normal work schedule. -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116386): https://edk2.groups.io/g/devel/message/116386 Mute This Topic: https://groups.io/mt/104735640/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-