searching for ext3 defrag/file move program

Theodore Ts'o tytso at
Fri Mar 4 19:08:44 UTC 2005

On Fri, Mar 04, 2005 at 08:33:03AM +0100, Ph. Marek wrote:
> How about a program that moves just the file's data to the start of the disk?
> AFAIK it doesn't work just to copy the files - you won't get them copied to a 
> defined place, they'll end up in the various groups.

Moving the file's data to the beginning of a disk doesn't necessarily
solve the fragmentation problem; in fact FAT filesystems are much more
succeptible to fragmentation *because* they only store file blocks
starting at the beginning of the disk.

>I read that there was a patch for in-kernel-movement of blocks; what
>has happened to it?  (Do we want reiserfs, xfs, whatever to have this
>advantage, and ext2/3 left behind?)

I'm not aware of any other Linux filesystem having this capability.  

As I said, there is far more interest in trying to prevent
fragmentation in the first place.  The reservation changes and the
delayed allocation patches are more examples of changes that try to
prevent fragmentation.  The goal is for us to be better than the
Microsoft FAT filesystem, not to create a defragger just because
that's what people who are used to MS-DOS want to be able to find....

> Any idea how to make the startup process faster? 

If you're trying to solve the "speed up the boot time" problem, that's
actually a different problem than defragmentation.  A number of people
have been looking at it, and a huge part of the problem is simply that
we're doing _too_ _much_ before the login prompt.  Why is it that that
we have to start the cups daemon and the ntp daemon, and the apache
server, etc., before firing up X and throwing up the login window?

Other solutions that attack this problem, especially for laptops, but
also for desktops, is to make suspend-to-ram and suspend-to-disk
faster and more reliable, so that you aren't rebooting as much in the
first place.

But even ignoring the suspend solution, there's an awful lot of wasted
time and effort in the boot process that needs to be optimized out
before trying to play filesystem block placement games would be the
most effective way to speed up the time before the user can start
doing useful work.

						- Ted

More information about the Ext3-users mailing list