Re: adding support for logical partitions to wd

From: Andrew Valencia <vandys_at_nospam.org>
Date: Wed Sep 01 1993 - 07:40:31 PDT

>It appears that the partition table that resides on block 0 contains a
>partition information for the primary and extended dos partitions,
>while each logical partition has a partition table of its own.

Aha! Yes, I knew that DOS had added a further layer of partitioning, but
all my manuals date from when the AT was the newest kid on the block. I
couldn't find anything to deal with it in 386BSD or Minix either, so I
just let it slide. If you understand this stuff, it would be good to
teach it to VSTa. Maybe in wd, maybe somewhere else. More on this in
a second.

>It appears that wd only looks for boot information in sector 0. Also,
>init_part() gets a buffer containing boot sector passed to it. To
>support logical msdos partitions, it would be nice if init_part() could
>(synchronously) read sectors itself.

If I understand what you're implying, logical partitions under an extended
partition use the same format as the boot sector for the disk? Now this is
getting crazy, but can an extended partition hold an extended partition?
That is, is this arbitrarily recursive, or bounded for a depth of two?

What I would do is break out the part which walks through a block
describing partitions, and make it a standalone routine. Then call
this routine once for the boot block, and once again for each extended
partition.

Arguments to the routine would need to include a prefix string, the sector
buffer, a pointer to a struct disk, and a count of struct disk's available.
Once you have this working, consider moving the interpretation stuff over
to lib/libusr.a. We eventually will have other hard disk drivers, and
it would be nice to share this code among all of them.

                                        Andy
Received on Wed Sep 1 07:59:56 1993

This archive was generated by hypermail 2.1.8 : Wed Sep 21 2005 - 19:37:12 PDT