Date: Sun, 9 Aug 1998 20:55:05 -0700 (PDT) From: Jim Mattson <jmattson@sonic.net> To: FreeBSD-gnats-submit@FreeBSD.ORG Subject: i386/7549: Logical DOS volumes not recognized in ExtendedX partitions Message-ID: <199808100355.UAA00473@denali.campbell.ca.us>
next in thread | raw e-mail | index | archive | help
>Number: 7549 >Category: i386 >Synopsis: Logical DOS volumes not recognized in ExtendedX partitions >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Aug 9 21:00:01 PDT 1998 >Last-Modified: >Originator: Jim Mattson >Organization: >Release: FreeBSD 2.2.7-RELEASE i386 >Environment: Windows 9X Extended DOS partitions for large disks (sysid 15) >Description: The machine dependent disk slice manager does not recognize DOS partition type 15 (Extended DOS, LBA) as a container for DOS logical volumes, so the appropriate slices (e.g. sd1s5) are not initialized. Note: This is a duplicate of bin/4120. >How-To-Repeat: Try anything that accesses a logical volume in the ExtendedX partition. For example, dd if=/dev/sd1s5 of=/dev/null >Fix: Look for sysid 15 as well as sysid 5 when looking for extended DOS partitions in diskslice_machdep.c. *** diskslice_machdep.c 1998/08/10 03:08:48 1.1 --- diskslice_machdep.c 1998/08/10 03:15:04 *************** *** 44,49 **** --- 44,50 ---- #include <sys/conf.h> #include <sys/disklabel.h> #define DOSPTYP_EXTENDED 5 + #define DOSPTYP_EXTENDEDX 15 #define DOSPTYP_ONTRACK 84 #include <sys/diskslice.h> #include <sys/malloc.h> *************** *** 344,350 **** /* Handle extended partitions. */ sp -= NDOSPART; for (dospart = 0; dospart < NDOSPART; dospart++, sp++) ! if (sp->ds_type == DOSPTYP_EXTENDED) extended(dname, bp->b_dev, strat, lp, ssp, sp->ds_offset, sp->ds_size, sp->ds_offset, max_nsectors, max_ntracks, mbr_offset); --- 345,352 ---- /* Handle extended partitions. */ sp -= NDOSPART; for (dospart = 0; dospart < NDOSPART; dospart++, sp++) ! if (sp->ds_type == DOSPTYP_EXTENDED || ! sp->ds_type == DOSPTYP_EXTENDEDX) extended(dname, bp->b_dev, strat, lp, ssp, sp->ds_offset, sp->ds_size, sp->ds_offset, max_nsectors, max_ntracks, mbr_offset); *************** *** 416,422 **** if (dp->dp_scyl == 0 && dp->dp_shd == 0 && dp->dp_ssect == 0 && dp->dp_start == 0 && dp->dp_size == 0) continue; ! if (dp->dp_typ == DOSPTYP_EXTENDED) { char buf[32]; sname = dsname(dname, dkunit(dev), WHOLE_DISK_SLICE, --- 418,425 ---- if (dp->dp_scyl == 0 && dp->dp_shd == 0 && dp->dp_ssect == 0 && dp->dp_start == 0 && dp->dp_size == 0) continue; ! if (dp->dp_typ == DOSPTYP_EXTENDED || ! dp->dp_typ == DOSPTYP_EXTENDEDX) { char buf[32]; sname = dsname(dname, dkunit(dev), WHOLE_DISK_SLICE, >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199808100355.UAA00473>