Skip site navigation (1)Skip section navigation (2)
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>