Re: [RFC] Ext3 online defrag

David Chinner
2006-10-25T04:27:53Z

On Tue, Oct 24, 2006 at 10:42:57PM -0400, Jeff Garzik wrote:
> On Wed, Oct 25, 2006 at 12:30:02PM +1000, Barry Naujok wrote:
> > Could we have a more abstract method for asking the filesystem where the
> > free blocks are and then using the same block addressing to tell the
> > fs where to allocate/move the file's data to?
>
> That's fundamentally racy, so you might as well just read the
> filesystem metadata from userspace. No need to go through the kernel
> for that.

But it a race that is _easily_ handled, and applications only need to
implement one interface, not a different method for every
filesystem that requires deeep filesystem knowledge.

Besides, you still have to handle the case where the block you want
has already been allocated because reading the metadata from
userspace doesn't prevent the kernel from allocating the block you
want before you ask for it...

Cheers,

Dave.
--
Dave Chinner
Principal Engineer
SGI Australian Software Group