Re: File System conversion -- ideas

Jan Kara (jack@suse.cz)
Wed, 2 Jul 2003 16:49:05 +0200


Hello,

> > > >Uh-huh. You want to get in-kernel conversion between ext* and reiserfs?
> > > >With recoverable state if aborted? Get real.
> > >
> > > no, in-kernel conversion between everything. You don't think it can be done?
> > > It's not that difficult a problem to manage data like that :D
> >
> > I think that I will believe it when I see the patchset implementing it.
> > Provided that it will be convincing enough. Other than that... Not
> > really. You will need code for each pair of filesystems, since
> > convertor will need to know *both* layouts. No amount of handwaving
> > is likely to work around that. And we have what, something between
> > 10 and 20 local filesystems? Have fun...
> >
> > If you want your idea to be considered seriously - take reiserfs code,
> > take ext3 code, copy both to userland and put together a conversion
> > between them. Both ways. That, by definition, is easier than doing
>
> Actually partition surprise should be able
> to do ext2<=>reiser. It does not have journal, IIRC :-(.
Partition Surprise could handle the conversions in userspace but not
in-kernel ones (which I think are discussed above)... We had only set
of patches for online ext2 resizing and that was already non-trivial
(especially shifting block descriptors and such). Conversion could be
actually done in a similar way in principle - one could establish some
block remapper which would map metadata of new filesystem into free
space of the other one and could be moving files by deleting it from
one filesystem and creating them in the other one... But it would not
volunteer to write that (it would be really hard to do it atomicly and
almost impossible to not make garbage of your data when power fails..)

Honza

-- 
Jan Kara <jack@suse.cz>
SuSE CR Labs
-
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/