Wesley Parish wrote:
Isn't the NT code base supposed to have multi-queued IO? to stop such problems? At least that was the NT-zealots' boast during the NT-vs-OS/2 days
I'd say it's one thing what the system has ability to do do, and another thing entirely what Explorer does with it. Not knowing it's source, I can only say "by the fruit shall the tree be known".
Shouldn't the routine to copy hold another IO queue in hand "just in case", and hand the copying over to it as soon as it hits such a snag?
Precisely. A fault list or whatever you want to call it. This could then be post-processed at the option of the user.
Mind you, I could think of additional uses for a multi-queued IO - having a anti-malware program kibitzing on the copying, and stalling anything that's questionable, while handing the copying over to Yet Another Copying IO Queue.
Bear in mind that there's an inherent danger in exposing the shell's file copying mechanism. While it may seem a convenient way to tie in a malware scanner, it could be used to conveniently inject a payload in every file the shell copies if a "plug-in" gets write access to the file data. Because of this risk any "plug-in" would have to be handed just a copy of the data, which would lead to terrible inefficiency due to all that redundant data copying.
Rock on // Love