Re: [RFC] Ext3 online defrag

Andreas Dilger
2006-10-23T17:29:11Z

On Oct 23, 2006 18:03 +0200, Jan Kara wrote:
> Andreas Dilger wrote:
> > I would in fact go so far as to allow only a single extent to be specified
> > per call. This is to avoid the passing of any pointers as part of the
> > interface (hello ioctl police :-), and also makes the kernel code simpler.
> > I don't think the syscall/ioctl overhead is significant compared to the
> > journal and IO overhead.
>
> ...it makes it kind of
> harder to tell where indirect blocks would go - and it would be
> impossible for the defragmenter to force some unusual placement of
> indirect blocks...

It would be possible to specify indirect block relocation in same manner
as regular block relocation I think. Allocate a new block, copy contents,
flush block from cache, fix up reference (inode, dindirect), commit.

Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.