Skip to content

Commit 12fa200

Browse files
committed
qemu-wrapper: increase max supported NVMe request size
The current default value for the NVMe MDTS parameter exposed in QEMU emulated NMVe devices is 7 (max 512KiB requests). However there seems to be an internal Windows Server 2025 issue that possibly triggers when splitting bigger requests into smaller on in the NVMe Windows driver. Increase the exposed MDTS value on the emulated QEMU NVMe device to 9 (max 2MiB request size), as that seems to drop the reproduction rate of the issue. Discussion is ongoing with Microsoft to get the issue identified and possibly sorted on their end. For the time being apply this mitigation in qemu-wrapper as a workaround. Signed-off-by: Roger Pau Monné <[email protected]>
1 parent c57e943 commit 12fa200

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

ocaml/xenopsd/scripts/qemu-wrapper

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,12 @@ def main(argv):
258258
n += 1
259259
continue
260260

261+
if p == "-device":
262+
if qemu_args[n + 1].startswith('nvme,'):
263+
qemu_args[n + 1] += ',mdts=9'
264+
n += 1
265+
continue
266+
261267
if p == "-loadvm":
262268
loadvm_path = qemu_args[n+1]
263269
incoming_fd = os.open(loadvm_path, os.O_RDONLY)

0 commit comments

Comments
 (0)