NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: install/59600: sysinst does not correctly recognize the partition on x68k.



The following reply was made to PR install/59600; it has been noted by GNATS.

From: Tetsuya Isaki <isaki%pastel-flower.jp@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: install-manager%netbsd.org@localhost,
	gnats-admin%netbsd.org@localhost,
	netbsd-bugs%netbsd.org@localhost
Subject: Re: install/59600: sysinst does not correctly recognize the partition on x68k.
Date: Wed, 29 Apr 2026 13:15:46 +0900

 Removing conditions for d_bbsize and d_sbsize in x68k's
 md_disklabel_is_default() will fix this problem.
 But I don't know the historical reason for this.
 
 --- usr.sbin/sysinst/arch/x68k/md.c
 +++ usr.sbin/sysinst/arch/x68k/md.c
 @@ -275,9 +275,7 @@ md_disklabel_is_default(const struct disklabel *lp)
  	bool maybe_default =
  	    lp->d_npartitions == RAW_PART + 1 &&
  	    lp->d_partitions[0].p_size == lp->d_partitions[RAW_PART].p_size &&
 -	    lp->d_partitions[0].p_fstype == FS_UNUSED &&
 -	    lp->d_bbsize == 0 &&
 -	    lp->d_sbsize == 0;
 +	    lp->d_partitions[0].p_fstype == FS_UNUSED;
  
  	return maybe_default;
  }
 
 In addition, initialization of lp->{d_bbsize,d_sbsize} in the x68k kernel
 is also strange.
 
 sys/arch/x68k/x68k/disksubr.c:
    63 const char *
    64 readdisklabel(dev_t dev, void (*strat)(struct buf *),
    65     struct disklabel *lp, struct cpu_disklabel *osdep)
    66 {
   :
   163     /* if BSD disklabel does not exist, fall back to Human68k partition */
   164     if (msg != NULL) {
   165         msg = NULL;
   166         lp->d_bbsize = 8192;
   167         lp->d_sbsize = 2048;
   168         for (i = 0; i < NDOSPART; i++, dp++)
  
 Here (msg != NULL) is met when there is no BSD disklabel and
 Human68k partition table signature exists.
 Therefore, the presence or absence of the signature affected sysinst.
 
 But lp->d_bbsize and lp->d_sbsize should be initialized regardless of
 such conditions, even though both parameters are historical.
 
 
 At least, with the above patch for sysinst, it seems this problem is
 resolved.
 
      Size (sec)                              Filesystem
      ------------------------------------- - ------------
  >a: 708608 (4030400)                      + /
   b: 65536                                   <swap>
   c: 0                                       /tmp (mfs)
   d: 0                                       /usr
   e: 0                                       /var
      ------------------------------------- - ------------
   g: Add a user defined partition
   h: Change input units (cectors/cylinders/MB/GB)
   x: Go on.  Free space 3321792 sec.
 
 ---
 Tetsuya Isaki <isaki%pastel-flower.jp@localhost / isaki%NetBSD.org@localhost>
 



Home | Main Index | Thread Index | Old Index