That's a good start, but before even egtting that far there is some need
for a way to get a picture of the FS layout in a reasonably fs-independent
way.
Sure, bmap() actually does part of this (the "where are my blocks" part),
but right now there is no way to query the FS for the "where can I put
blocks" part.
You can do it with direct disk access and knowledge of the FS internals,
but it should not be all that hard to add some simple interface to get a
"block usage byte array" kind of thing (more efficient than doing bmap on
all files, _and_ can tell about blocks reserved for inodes, superblocks
and other special uses), which together with a user-level interface to
"preallocate" and your "relocate page" should actually make it possible to
make a fairly FS-independent defragmenter.
Add a nice graphical front-end, and you can make it a useful screen-saver.
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/