Bug 243104

Summary: Kernel unable to determine right array component using the very last sector of a disk.
Product: [Fedora] Fedora Reporter: Frank Wittig <mail>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED ERRATA QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: low    
Version: 7CC: chris.brown
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-09-14 12:40:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Frank Wittig 2007-06-07 11:08:58 UTC
Description of problem:
After upgrading to F7 the kernel cannot start one of the disk arrays. (Which
leads to a kernel panic because of unmountable root file system)

Messages say that the devices /dev/sdc and /dev/sdc2 have very similar
superblocks and refuses to start the array.

I think this is a result of the circumstance that the last partition on my hard
disks includes the very last sector of the disk. The kernel seems not able to
give /dev/sdc2 precedence due to its partition type (0xFD).

Disks are paralel ATA and change device names when booting F7-kernel so the
kernel cannot reuse device names mentioned in raid superblocks.


Version-Release number of selected component (if applicable):
2.6.21-1.3194.fc7

How reproducible:
Steps to Reproduce:
1. Build array on parallel ATA disks including the very last sector of the disks
using a kernel which uses old style device names (hdX).
2. Reboot using current kernel (using device names sdX).

Expected results:
The kernel should give the partition precedence due to its partition type (0xFD)
what would lead to a correct assembly of the array allowing the system to boot up.

Comment 1 Chuck Ebbert 2007-06-07 16:19:48 UTC
Please post the exact error messages from the array startup.

Comment 2 Frank Wittig 2007-06-08 07:10:28 UTC
The error message was:
mdadm: WARNING /dev/sdc2 and /dev/sdc appear to have very similar superblocks.
      If they are really different, please --zero the superblock on one
      If they are the same or overlap, please remove one from the
      DEVICE list in mdadm.conf

When reading the superblock of the mentioned devices i found that /dev/sdc
seemed to have a slightly outdated version of the superblock of /dev/sdc2.
This is the geometry of my disks when the error occured:

Disk /dev/sdc: 122.9 GB, 122942324736 bytes
16 heads, 63 sectors/track, 238216 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1         520      261040+  fd  Linux raid autodetect
/dev/sdc2             519      238216   119798784   fd  Linux raid autodetect

I fixed the problem by recreating the small array 2 cylinders smaller allowing
me to move the big array 2 cylinders to the beginning of the disk. This enables
the kernel to start up my arrays as expected.

This is the geometry of my disks after fixing the problem:

Disk /dev/sdc: 122.9 GB, 122942324736 bytes
16 heads, 63 sectors/track, 238216 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1         518      261040+  fd  Linux raid autodetect
/dev/sdc2             519      238214   119798784   fd  Linux raid autodetect

Comment 3 Christopher Brown 2007-09-14 12:40:59 UTC
Hello,

I'm reviewing this bug as part of the kernel bug triage project, an attempt to
isolate current bugs in the fedora kernel.

http://fedoraproject.org/wiki/KernelBugTriage

I am CC'ing myself to this bug and closing as it appears fixed. If it is still
an issue please re-open and I will attempt to assist if I can.

Cheers
Chris