Am 24.08.23 um 15:38 schrieb Fiona Ebner: > Fails without the previous commit "hw/ide: reset: cancel async DMA > operation before reseting state". > > I haven't ever written such a test before, but I wanted something to > expose the problem more easily. It hardcodes the behavior that the > pending write actually is done during reset, which might not be ideal. > It could just check that the first sector is still intact instead. > > If I should make this a proper test, I'd be happy about some guidance, > but not sure if required for such a specific one-off issue. After all, > a different variation of the bug might have written to some other > sector not covered by this test. >
While trying to turn it into a proper test with Philippe's and Thomas's suggestions, I wanted to add a comment about the buffer size. So I tried figuring out what the "magic" value is. At the very beginning, I had tried 4 KiB, but then the callback wouldn't be pending, so I just picked 512 KiB for my proof-of-concept. It turns out to be racy though, and with a buffer size of 64 KiB, it is flaky whether or not the callback is still pending on my system. Should I just pick a large enough buffer size (maybe 4 MiB) and hope for the best? Best Regards, Fiona