this post was submitted on 09 Nov 2023
1 points (100.0% liked)

Hardware

33 readers
1 users here now

A place for quality hardware news, reviews, and intelligent discussion.

founded 11 months ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 0 points 10 months ago (1 children)

To see what ATTO is writing to the file, we wait until it has completed a write pass, and then cut power to the machine.

I question how reliable this actually is. It might be fine, but I could see it not working as expected (e.g. OS didn't flush all writes, or reverted something when rolling back the filesystem journal etc).
Regardless, one would think that intercepting the WriteFile call and examining the buffer would be more reliable (or strip the FILE_FLAG_DELETE_ON_CLOSE flag when opening the file).

[โ€“] [email protected] 1 points 10 months ago

Your point is a good one. Thanks for raising it.

The combination of the observed file contents after several seconds of writing with the behavior difference in all 0s vs all 1s I/O in our fio experiments made me pretty confident about the conclusion we reached, but we should be sure.

To be 100% certain, I just hooked CreateFileA to remove the FILE_FLAG_DELETE_ON_CLOSE. Examining ATTO's I/O file after it completes shows that it does indeed contain only 0s.

Tomorrow I can also try with ATTO hooked to write all 1s instead of all 0s to observe the performance difference directly in ATTO. (I'm away from the drives that exhibit the performance difference at the moment.)