Subject: Re: libahdi [Re: CVS commit: basesrc]
To: Julian Coleman <J.D.Coleman@newcastle.ac.uk>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: tech-userlevel
Date: 02/13/2000 22:35:32
On Sun, Feb 13, 2000 at 06:41:23PM +0000, Julian Coleman wrote:
> [...]
> Yes.  And in some cases (e.g. Atari), you'll need to parse the native label
> before you can parse the NetBSD label.  In the Atari case, the NetBSD label
> is stored at the beginning of the first NetBSD partition (there's no room
> in the native label).  Then again, maybe you want to read a native label
> where there is no NetBSD label on the disk.

Much like i386 :)

> [...]
> The Atari partitioning format only has room for 4 partitions in the area
> reserved at the start of the disk.  In order to support more partitions,
> one of these can be a 'pointer' to another disk (root) sector that contains
> the information about another partition (and possibly another 'pointer').

Looks like an MBR extended partition.

> [...]
> Manuel Bouyer wrote:
> > No, just return a 'struct disklabel *'. The calling program can stick it in
> > the in-core label if it's his putpose, but we may need a struct disklabel *
> > for other purposes.
> 
> Agreed.  Something like the *convert_to_struct_disklabel() and
> native_to_disklabel() above?

Yes, this can be a solution.

> 
> > I think we need a separate data type for each native partition. Your
> > structure doesn't work well for MS-DOS partitions for example (we
> > need start sector, size and start c/h/s , size c/h/s, partition type and 
> > eventually addidtionnal opaque data for this partition, in case it's an
> > extended partition, or a FreeBSD slice).
> 
> Um, why do you need start c/h/s and size c/h/s?  Can you not calculate them

Because they are present in the MBR format, the calling program may need
them.

> from a single c/h/s and the values for start sector and size?  (Sorry if I'm
> missing something obvious.)  The Atari also uses a partition 'type' - a

Not really, they don't match is the disk is bigger than 8G.

> 3 byte partition id.  Presumably not compatible with the DOS partition type?

I suppose they're not. A DOS partition type is only one byte.

> 

I suppose they're not. A DOS partition type is only one byte.

--
Manuel Bouyer <bouyer@antioche.eu.org>
--