On Thu, 7 Jun 2007, Otto Moerbeek wrote: > We have seen some reports now on disappearing paritions. On sparc and > sparc64, there were actual bugs that have been fixed now. > > For all platforms, the suspect new consistency checking code now been > disabled until we find out what is causing the mishap, and (very) > recent kernels should be back to normal. > > Please report with dikslabel info and dmesg if things are still going > wrong. Preferable with fdisk (if applicable) and old disklabel > information as well.
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. -Otto