On Thu, Jun 07, 2007 at 04:58:18PM -0500, Emilio Perea wrote:
> On Thu, Jun 07, 2007 at 07:50:24PM +0200, Otto Moerbeek wrote:
> > I have thinking a bit more about the problem, and it is very likely the
> > following scenario happened:
> > 
> > 1. Kernel upgrade by source.
> > 
> > 2. Reboot
> > 
> > 3. Kernel reads old disklabel format and converts it in-memory to the
> > new v1 format. 
> > 
> > 4. Run a newfs using the old executable that does not know about the
> > new disklabel format. newfs writes the block and fragment size info
> > the old way, on a spot that is used in v1 labels to store the high 16
> > bits of the offset and size of a partition. The label is written with
> > version = 1, since the in-memory copy is v1. 
> > 
> > 5. Reboot, the kernel now sees a v1 disklabel with very high offset
> > and/or size, the new consistency code (which is now disabled) kicks in
> > and marks the partition as unused. 
> > 
> > So the lesson here is: keep userland and kernel in sync, or use a
> > snapshot to upgrade. 
> 
> I believe that's exactly what happened the first time.  The catch is
> that kernel and userland were being built from the same cvs update, and
> I thought I was keeping them in sync.  In this case it would probably
> have been better to skip the reboot between building the kernel and the
> userland.

It might have been better to start a whole new thread, but it seemed
logical to believe that the problems might be related.  Using recent
snapshots, last night's insecurity output showed another disklabel
change: 

======
sd1 diffs (-OLD  +NEW)
======
--- /var/backups/disklabel.sd1.current  Fri Apr 20 01:31:19 2007
+++ /var/backups/disklabel.sd1  Fri Jun  8 01:31:55 2007
@@ -1,4 +1,4 @@
-# Inside MBR partition 0: type A6 start 63 size 71681967
+disklabel: warning, DOS partition table with no valid OpenBSD partition
 # /dev/rsd1c:
 type: SCSI
 disk: da0s1
*----------------------------------------------------------------------*

The full output of disklabel and dmesg follow, but as I was getting
ready to send it, I remembered that this same disk had problems with the
disklabel changes last October.  For some reason it was shown as having
a FreeBSD disklabel.  Most of correspondence regarding it was off-list,
but involved several developers and ended with Ken Westerback suggesting
some tests before setting it to OpenBSD.

This was fdisk then:

Disk: sd1       geometry: 4462/255/63 [71682030 Sectors]
Offset: 0       Signature: 0xAA55
         Starting       Ending       LBA Info:
 #: id    C   H  S -    C   H  S [       start:      size   ]
------------------------------------------------------------------------
*0: A6    0   1  1 - 4461 254 63 [          63:    71681967 ] OpenBSD
 1: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
 2: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
 3: 00    0   0  0 -    0   0  0 [           0:           0 ] unused

This is now:

Disk: sd1       geometry: 4462/255/63 [71687370 Sectors]
Offset: 0       Signature: 0xAA55
         Starting       Ending       LBA Info:
 #: id    C   H  S -    C   H  S [       start:      size   ]
------------------------------------------------------------------------
 0: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
 1: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
 2: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
*3: A5    0   0  1 -    3  28 41 [           0:       50000 ] FreeBSD
*----------------------------------------------------------------------*

It is currently working fine.  Should I just change the partition ID to
A6, or is there something else I should try first?

*----------------------------------------------------------------------*
disklabel: warning, DOS partition table with no valid OpenBSD partition
# /dev/rsd1c:
type: SCSI
disk: da0s1
label: 
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 4462
total sectors: 71687370
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0           # microseconds
track-to-track seek: 0  # microseconds
drivedata: 0 

15 partitions:
#             size        offset  fstype [fsize bsize  cpg]
  c:      71681967            63  unused      0     0      # Cyl     0*-  4461 
  d:       2104452            63  4.2BSD   2048 16384  132 # Cyl     0*-   130 
  e:       8385930       2104515  4.2BSD   2048 16384  328 # Cyl   131 -   652 
  f:      23294250      48387780  4.2BSD   2048 16384  328 # Cyl  3012 -  4461 
  h:       4112640      15936480  4.2BSD   2048 16384  256 # Cyl   992 -  1247 
  i:       2104515      40933620  4.2BSD   2048 16384    1 # Cyl  2548 -  2678 
  j:      18828180      20049120  4.2BSD   2048 16384  328 # Cyl  1248 -  2419 
  k:       5349645      43038135  4.2BSD   2048 16384   16 # Cyl  2679 -  3011 
  l:       2056320      38877300  4.2BSD   2048 16384  128 # Cyl  2420 -  2547 
  m:       2104515      10490445  4.2BSD   2048 16384  132 # Cyl   653 -   783 
  n:       2056320      12594960  4.2BSD   2048 16384    1 # Cyl   784 -   911 
*----------------------------------------------------------------------*
OpenBSD 4.1-current (GENERIC) #255: Thu Jun  7 18:56:14 MDT 2007
    [EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Intel(R) Pentium(R) 4 CPU 1500MHz ("GenuineIntel" 686-class) 1.50 GHz
cpu0: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM
real mem  = 804384768 (767MB)
avail mem = 766832640 (731MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 06/06/01, BIOS32 rev. 0 @ 0xffe90, SMBIOS 
rev. 2.3 @ 0xf0450 (97 entries)
bios0: Dell Computer Corporation Precision 330
apm0 at bios0: Power Management spec V1.2
apm0: AC on, battery charge unknown
apm0: flags 30102 dobusy 0 doidle 1
pcibios0 at bios0: rev 2.1 @ 0xf0000/0x10000
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfbbb0/176 (9 entries)
pcibios0: PCI Interrupt Router at 000:31:0 ("Intel 82801BA LPC" rev 0x00)
pcibios0: PCI bus #2 is the last bus
bios0: ROM list: 0xc0000/0xa800 0xca800/0x5800
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "Intel 82850 Host" rev 0x02
ppb0 at pci0 dev 1 function 0 "Intel 82850/82860 AGP" rev 0x02
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 "NVIDIA Vanta" rev 0x15
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
ppb1 at pci0 dev 30 function 0 "Intel 82801BA AGP" rev 0x04
pci2 at ppb1 bus 2
fxp0 at pci2 dev 8 function 0 "Intel 8255x" rev 0x05, i82558: irq 10, address 
00:90:27:86:21:9c
inphy0 at fxp0 phy 1: i82555 10/100 PHY, rev. 0
ahc0 at pci2 dev 10 function 0 "Adaptec AHA-2940U2 U2" rev 0x00: irq 11
scsibus0 at ahc0: 16 targets
sd0 at scsibus0 targ 0 lun 0: <SEAGATE, ST39102LW, 0005> SCSI2 0/direct fixed
sd0: 8683MB, 6962 cyl, 12 head, 212 sec, 512 bytes/sec, 17783240 sec total
sd1 at scsibus0 targ 2 lun 0: <SEAGATE, ST336705LW, 5063> SCSI3 0/direct fixed
sd1: 35003MB, 19036 cyl, 8 head, 470 sec, 512 bytes/sec, 71687370 sec total
cd0 at scsibus0 targ 4 lun 0: <YAMAHA, CRW8824S, 1.00> SCSI2 5/cdrom removable
cd1 at scsibus0 targ 6 lun 0: <TEAC, CD-ROM CD-532S, 1.0A> SCSI2 5/cdrom 
removable
ichpcib0 at pci0 dev 31 function 0 "Intel 82801BA LPC" rev 0x04: 24-bit timer 
at 3579545Hz
pciide0 at pci0 dev 31 function 1 "Intel 82801BA IDE" rev 0x04: DMA, channel 0 
wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0: <IC35L040AVER07-0>
wd0: 16-sector PIO, LBA, 38166MB, 78165360 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
pciide0: channel 1 ignored (disabled)
uhci0 at pci0 dev 31 function 2 "Intel 82801BA USB" rev 0x04: irq 11
ichiic0 at pci0 dev 31 function 3 "Intel 82801BA SMBus" rev 0x04: irq 10
iic0 at ichiic0
uhci1 at pci0 dev 31 function 4 "Intel 82801BA USB" rev 0x04: irq 9
auich0 at pci0 dev 31 function 5 "Intel 82801BA AC97" rev 0x04: irq 10, ICH2 
AC97
ac97: codec id 0x41445360 (Analog Devices AD1885)
ac97: codec features headphone, Analog Devices Phat Stereo
audio0 at auich0
isa0 at ichpcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pmsi0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pmsi0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
usb0 at uhci0: USB revision 1.0
uhub0 at usb0: Intel UHCI root hub, rev 1.00/1.00, addr 1
usb1 at uhci1: USB revision 1.0
uhub1 at usb1: Intel UHCI root hub, rev 1.00/1.00, addr 1
biomask ef65 netmask ef65 ttymask ffe7
pctr: user-level cycle counter enabled
mtrr: Pentium Pro MTRR support
softraid0 at root
ahc0: target 0 using 16bit transfers
ahc0: target 0 synchronous at 20.0MHz, offset = 0xf
ahc0: target 2 using 16bit transfers
ahc0: target 2 synchronous at 20.0MHz, offset = 0x3f
dkcsum: sd0 matches BIOS drive 0x80
dkcsum: wd0 matches BIOS drive 0x81
root on sd0a swap on sd0b dump on sd0b
*----------------------------------------------------------------------*

Reply via email to