-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nvmeof_Attempt* variables are only effective on warm boot (not on cold boot) #11
Comments
To clarify, by "cold boot" I mean of start of a qemu process on the host os to create a vm running ovmf with a previously set up ovmf vars file. In contrast, by "warm boot" I mean invoking the "reset" command from the EFI shell with no other qualifiers. From EFI's point of view, that might be a "cold reset." The ovmf firmware needs to reboot. But it's doing so in the context of the same qemu process that it was running in before. Steps to reproduce were:
The above is all good and demonstrates the working case.
This demonstrates the problem. If one now goes back to step 5, then the nvmeof boot of Fedora works. But this reset step should not be necessary if the nvmeof attempt variables were previously defined and are still present. |
The bootlog from: -debugcon file:bootlog -global isa-debugcon.iobase=0x402 Attempt variables are already defined from a prior boot. The output of devices, drivers after cold boot to EFI shell: devices-cold.txt The output of devices, drivers, and map after reset to EFI shell: |
We attempted to previously fix this with masking |
@Ajay-Khadolia / @swamy-kadaba - Have you observed this by chance? |
From the attached logs for cold boot it looks like, a connection to the target is attempted by the NVMe-oF driver. The socket connection looks to be aborted due to a network transmit failure. The logs are as below: Line no 1929 to 1934 i.e., before reset at line no 2690: Probe/Connect NQN: nqn.2014-08.org.nvmexpress:uuid:0c468c4d-a385-47e0-8299-6e95051277db Line no 2007 to 2014: TcpTxCallback: Tx error reported: No mapping Does this happen always when we try to do a cold boot? |
hi @amit-jain9
yes, during the Timberland call yesterday it was reported both Redhat and SUSE POCs from this repo were experiencing this - roughly with the pattern:
|
We run Qemu on ubuntu machine using below command: sudo qemu-system-x86_64 --bios bios/OVMF.fd -m 8G -netdev tap,id=mynet0,ifname=tap1,script=no --device virtio-net-pci,netdev=mynet0,id=tap1,mac=52:54:00:12:34:56,romfile=empty.rom -drive file=file.qcow2 -cpu host -debugcon file:debug.log -global isa-debugcon.iobase=0x402 -enable-kvm we have tested following scenario:
Attaching the logs for reference. |
The Nvmeof_Attemptconfig and NvmeofGlobalData variables that are created by NvmeOfCli.efi are persistent EFI boot-time variables. However, it appears that they are only acted upon by the Nvme-oF/TCP driver stack on a warm reset and not on a cold boot of the EFI system.
The persistent Nvmeof_Attempt variables should be effective on both warm and cold boots.
The text was updated successfully, but these errors were encountered: