[PATCH] drivers/block/genhd.c (partitioning), kernel 2.2.1

Rene Herman (rene@rene.demon.nl)
Mon, 22 Feb 1999 02:20:37 +0100


Hello everyone ...

A few days ago I posted a patch to support MINIX subpartitions. A small
thread resulted concerning what the best strategy for ordering partitions
would be. We
agreed that Linux's native partition types (primary, logical) should come
before
the other types (BSD, UNIXWARE, Solaris, MINIX), as to minimize "partition
shuffling" between kernel versions.

Ernst Jan Plugge suggested assigning minors strictly by type, and I decided
to implement his suggestion. The partition handlers are now called through
an (ordered) table of function pointers, and this implied several changes to
the handlers themselves as well. I also changed their output to be
consistent amongst the handlers.

I'm unable to test the BSD, UNIXWARE and Solaris handlers myself. AFAIK,
there are no functional differences from the original versions (apart from
allowing multiple BSD disklabel partitions, as 2.0.36 did).

The patch is unfortunately rather large (it includes the MINIX subpartition
patch). All feedback much welcome!

Regards, Rene

begin 666 patch-2.2.1-partition_ordering.gz
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
?RR^#"(*8,WCL$R*$.IHP=\BMH;C:_P&0N&53YD8`````
`
end

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/