lkml.org 
[lkml]   [1998]   [Apr]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: "Where has 2.0.34pre12 gone ?" FAQ
Alan Cox wrote:
>
> Ok I've had enough people bug me about this ... the current status is this
>
> 2.0.34pre11b appears to be basically solid. The bugs it is meant to fix it
> seems to fix, the driver stuff is almost all shaken down (some tweaks
> to come nothing big)

I've made a tiny patch that I'd like to see in 2.0.34. It changes
exactly 3 lines of the kernel source code (one of them a comment),
adding support for Win95OSR2/Win98 LBA extended partitions (partition
type 0xf). I actually added the support to 2.0.33 myself, and then
noticed that it was already in 2.1.96 and changed my patch a tad to have
the constant name match, so if you're wondering that's why it looks
exactly like the 2.1.96 code. (Can't be too creative with only three
lines of code! ;)

It's been verified to work in at least one case as a patch to 2.0.33. I
was surprised to find that, although this support is already in the
development kernels, it's not in 2.0.34 (as of pre11b). It's a very
small change, and quite a few people have run into problems with
accessing logical partitions inside type 0xf extended partitions. While
it's possible for them to change the partition type to 5 in fdisk, it's
not an obvious thing, and many people are (rightfully) reluctant to
wantonly change partition types unless they're very sure what they're
doing. It would be much simpler for them to have this handled by the
kernel, as it is in 2.1.x.

So if it's not too much trouble, could you please integrate this patch
(made against 2.0.33, and patches successfully against 2.0.34pre11b)
into 2.0.34pre12? Thanks in advance!

-- brion vibber (brion@pobox.com)diff -ur linux-2.0.33/drivers/block/genhd.c linux-2.0.33.new/drivers/block/genhd.c
--- linux-2.0.33/drivers/block/genhd.c Mon Aug 4 11:45:55 1997
+++ linux-2.0.33.new/drivers/block/genhd.c Tue Apr 28 16:34:35 1998
@@ -102,6 +102,7 @@
static inline int is_extended_partition(struct partition *p)
{
return (SYS_IND(p) == DOS_EXTENDED_PARTITION ||
+ SYS_IND(p) == WIN98_EXTENDED_PARTITION ||
SYS_IND(p) == LINUX_EXTENDED_PARTITION);
}

diff -ur linux-2.0.33/include/linux/genhd.h linux-2.0.33.new/include/linux/genhd.h
--- linux-2.0.33/include/linux/genhd.h Tue Dec 2 14:18:11 1997
+++ linux-2.0.33.new/include/linux/genhd.h Tue Apr 28 16:34:55 1998
@@ -21,10 +21,11 @@
#define CONFIG_SUN_PARTITION 1
#endif

-/* These two have identical behaviour; use the second one if DOS fdisk gets
+/* These three have identical behaviour; use the second one if DOS fdisk gets
confused about extended/logical partitions starting past cylinder 1023. */
#define DOS_EXTENDED_PARTITION 5
#define LINUX_EXTENDED_PARTITION 0x85
+#define WIN98_EXTENDED_PARTITION 0x0f

#define DM6_PARTITION 0x54 /* has DDO: use xlated geom & offset */
#define EZD_PARTITION 0x55 /* EZ-DRIVE: same as DM6 (we think) */
\
 
 \ /
  Last update: 2005-03-22 13:42    [W:0.197 / U:0.664 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site