When Vdbench does raw i/o (SD/WD) it makes sure that during Data Validation we do not have two threads accessing the same block at the same time.
When I added the File System functionality (FSD/FWD) I did not need to worry about that because each file would only be used by one thread.
And then a few years ago (April 2011) I implemented an RFE where files WERE allowed to be shared between threads. Oops.
So today we had one thread writing a block that an other thread was trying to validate, and that of course caused problems.
The next version of Vdbench will disallow the use of fileio=shared during Data Validation.
If I find some time I may decide to put in a better fix, adding locking code for shared files, but until then:
- do not use 'fileio=(random,shared)' and Data validation at the same time.
- The next version of Vdbench will forbid this.
- Maybe I'll really fix this some day.
If you really MUST run Data Validation having multiple threads using the same file, consider using Vdbench raw i/o functionality (SD/WD) instead.
Henk.