View Single Post
  #10  
Old February 12th 10, 08:05 PM posted to comp.arch.storage
Bill Todd
external usenet poster
 
Posts: 162
Default Disk optimization for multithreaded app.

On 2/11/2010 11:30 PM, wrote:
On Feb 11, 5:34 pm, Bill wrote:
Thanks - what you describe above I once knew as the supported way to
accomplish preallocation (which I don't think originally existed in NT)
but had forgotten (at least in any detail - that's why I alluded to it
only vaguely above). Now I feel lazy for not having taken the time to
rediscover it.



Well SetEndOfFile dates back to NT3.1, and the documentation (I
actually have a copy of the Win32 API hardcopy doc from that era) is
similar to the current versions. SetFileValidData is definitely newer
than that, though.

Interestingly, both the old and new versions describe the data in the
extended area as being undefined.


My distinct impression is that the ability to preallocate (using
documented functions) *without* zeroing out the preallocated area
appeared at some point during the past decade - but I obviously could be
mistaken about that. It might have been related to the appearance of
high-water marking if that wasn't present in the earliest versions
(though something similar existed in VMS back in the '80s, so the
technology was hardly new).

- bill