[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Surprise-dev] GNU Parted and Partition Surprise

From: Andrew Clausen
Subject: Re: [Surprise-dev] GNU Parted and Partition Surprise
Date: Sun, 22 Jul 2001 20:37:30 +1000
User-agent: Mutt/1.2.5i

On Sun, Jul 22, 2001 at 10:16:38AM +0200, Jan Kratochvil wrote:
> Hi
> On Sun, Jul 22, 2001 at 11:10:28AM +1000, Andrew Clausen wrote:
> ...
> > Are you aware of GNU Parted?  www.gnu.org/software/parted
> Yes, Parted was in its early stages in the time Surprise was just in its 
> design
> phase.
> There is one big difference between these two packages:
> Parted: every operation is done as a special case - resize of ext2, resize of
>         fat, move of partition etc.
> Surprise: each filesystem is always completely 'rebuild' from the scratch,
>         'filesystem support' means that we have a module to 'completely read'
>           and 'completely write' the filesystem.
> The rebuild of the filesystem (only its metadata) is done in-place (no need 
> for
> some additional disk) by our General Converter (gconv). Such approach is
> slower, of course, but we can do ANY change (such as changing a blocksize
> etc.). For end user it is completely transparent (only a bit slower).

Ah, so THAT'S what it's doing!  I must admit, I found the Surprise source
rather difficult to understand...

I was thinking about doing a similar thing in Parted, and I have thought a
lot about the design, to the point were I could code it, but other things are
a higher priority...

Anyway, things like "changing blocksize" are doable in Parted.  (In fact,
for FAT, the only issue is figuring out a nice API interface... the low-level
code already written and used for block size shrinking)

BTW: is this a simpler alternative, to convert from FS type A to B,
if both A and B are supported read/write by the kernel, and both A and B
can be shrunk / grown, and one can move-the-start: just do:

* shrink A a bit
* grow B a bit
* copy a bit from A to B
* repeat, until all is copied
* remove A
* grow B to full size of A

Is that going to be significantly slower than your General Converter?
It could also be applied to things like changing the block size...

Note: only FAT has support for resize-the-start in Parted.

> So Parted (or even PowerQuest Partition Magic) is a good approach for fast
> operations but it is too limited.

Parted's approach is also simpler / easier to maintain.  (Another reason
I didn't try doing a generalize resize / whatever)

> There is a plan to use Parted to enhance our
> set of ACCELERATION functions - when some simple operation is requested,
> Parted may be able to cope with it. Otherwise run General Converter for it.

Sounds good :)

> > I've looked at the Surprise source, and in most respects, Parted is
> > seems mature.  (Apart from anything else, it is stable)
> Yes, Surprise hasn't yet been announced on some freshmeat.net etc. as there 
> are
> still several (small but serious) bugs and the sad fact is that from this
> January no one really continued coding it. Some volunteers are welcome but we
> (=I, to not to talk for others) have no further resources to support big free
> project right now.

That's a pity :/

Anyway: it would have been wise for you to talk to me when you discovered
Parted.  I'm sure we've learned lots from our experiences, and have lots of
tricks to tell each other ;)

Also, the partition handling code in parted should be shared, IMHO.
It would be fairly easy to add a

ped_disk_convert (PedDisk* disk, PedDiskType* new_type)

(this is planned ;)   (Note: PedDisk represents a partition table)

> > Anyway, duplication of effort isn't really a good thing (unless two
> > alternative approaches are being attempted...)
> We aren't any "duplication", we are "extension"!

There's lots of duplication... (apart from anything else, us thinking
about the same ideas twice)

> > So, what's happening with Partition Surprise?  Is it still being
> > developed?  Are you interested in Parted?
> Yes, We are Surprise of Borg. Resistance is futile; You will be assimilated;
> Irrelevant.


Also, one question: is it safe to interrupt a "generic conversion" ?
(eg: power failure)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]