Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'd like to limit server disk fragmentation when multiple clients upload to an FTP server simultaneously.

Is there a way to tell FTP server to preallocate disk space for a big block of an incoming file, and to keep incrementing in big blocks?

Alternatively, is there a way to tell the FTP server to preallocate entire file's worth, and write out incoming FTP packets in a more sequential pattern.

Defragmenting files after fransfer is not acceptable: it will take too long to defragment.

I am using IIS 6.0, but other FTP server products would be a welcome replacement.

share|improve this question
Or, alternatively, set the write buffer size to something other than the default. – GregC Jul 5 '09 at 23:24
up vote 1 down vote accepted

The FTP protocol does not include size information in the STOR command:

So I doubt you'd find any pure FTP clients that would do this. You might find some vendor that has implemented a proprietary extension, but that would require both the client and server to support them. You say "clients", so if that includes both internal and external clients you might have problems forcing them to use different software.

A quick glance at the SFTP draft doesn't indicate that the write file message includes a file size either.

The SCP protocol does include a size parameter in its file copy command, and there are Windows GUI clients that support SCP (rather than SFTP), but you'd have to check if the server pre-allocates using the size parameter. On the upside, the code is available, so you could build your own Windows SSH/SCP daemon that pre-allocates. But this is somewhat overkill for the problem you describe.

share|improve this answer
I have no problem whipping up some code. Thank you for the direction on this topic. – GregC Jul 6 '09 at 11:37

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.