Re: [RFC] Ext3 online defrag

Jan Kara
2006-10-25T18:36:57Z

> 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.
Yes, but there's a question of the interface to this operation. How to
specify which indirect block I mean? Obviously we could introduce
separate call for remapping indirect blocks but I find this solution
kind of clumsy...

Bye
Honza
--
Jan Kara <jack@suse.cz>
SuSE CR Labs