Re: [patch 12/16] fix race between writeback and unlink

Linus Torvalds
2002-06-04T21:37:21Z

On Tue, 4 Jun 2002, Andrew Morton wrote:
>
> There's a patch at
> http://www.zip.com.au/~akpm/linux/patches/2.4/2.4.19-pre10/ext3-reloc-page.patch
> which provides a simple `relocate page' ioctl for ext3 files.

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