diff --git a/scripts/setup-vm.sh b/scripts/setup-vm.sh index 641d46b..eec2e14 100755 --- a/scripts/setup-vm.sh +++ b/scripts/setup-vm.sh @@ -637,8 +637,11 @@ if conformant and E["CONVERT"] == "1": if "device='disk'" not in d or ("bus='nvme'" in d and "" in d): return d d = re.sub(r"", r"", d) + # cache='none' is O_DIRECT: on btrfs the guest can change a page while the + # write is in flight, so the stored checksum never matches and later reads + # fail with EIO. Buffered writes hand the filesystem a stable page. d = re.sub(r"", - r"", d) + r"", d) d = re.sub(r"\s*
", "", d) if "" not in d: serial = E["NVME_SERIAL"] if n[0] == 0 else E["NVME_SERIAL"][:-1] + "0123456789ABCDEF"[n[0] % 16] @@ -824,7 +827,7 @@ if [ "$PROFILE" = full ]; then fi if [ ! -e /usr/lib/udev/rules.d/99-vfio-native-vnet-offload.rules ] && [ ! -e /etc/udev/rules.d/99-vfio-native-vnet-offload.rules ]; then - echo "NOTE: the e1000e offload udev rule is not installed. SSH into the guest will fail with" + echo "NOTE: the NIC offload udev rule is not installed. SSH into the guest will fail with" echo " 'Corrupted MAC on input' until it is:" echo " sudo install -Dm644 $SELF/scripts/99-vfio-native-vnet-offload.rules /etc/udev/rules.d/ && sudo udevadm control --reload-rules" fi