Bug 592958

Summary: util-linux-ng-2.17-blkid-raid.patch causes whole disk raid members to not be identified
Product: Red Hat Enterprise Linux 6 Reporter: Hans de Goede <hdegoede>
Component: util-linux-ngAssignee: Karel Zak <kzak>
Status: CLOSED CURRENTRELEASE QA Contact: Yulia Kopkova <ykopkova>
Severity: medium Docs Contact:
Priority: low    
Version: 6.0CC: ovasik, rvokal, syeghiay, ykopkova
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: util-linux-ng-2.17.2-6.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-11-10 21:52:41 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:
Attachments:
Description Flags
broken blkid -o udev -p /dev/sdb debug output
none
broken blkid -o udev -p /dev/sdc debug output
none
good blkid -o udev -p /dev/sdb debug output none

Description Hans de Goede 2010-05-17 13:30:50 UTC
Ok,

This requires a specific setup to trigger. In my case I was using
an Intel BIOS RAID set consisting of 2 disks (sdb and sdc, sda is the usb stick the installer started from). This is a stripe set, so the set is almost twice as big as the disks, I believe this is part of the issue.

The set contains a msdos partition table with a small first partition for /boot and a partition spanning the rest of the set (and thus covering most of both disks) for a PV.

I think this combination makes the new libblkid think the first disk which is a whole disk member, actually is a regular disk with a last partition which is a raid member.

Note BTW that except for native mdraid metadate (so linux_raid_member) the other
raid meta data types can only be found on whole disks.

I'll attach some blkid debug output on both disks of the set (the second one
is correctly identified as it does not contain a partition table).

Regards,

Hans

Comment 1 Hans de Goede 2010-05-17 13:31:34 UTC
Created attachment 414547 [details]
broken blkid -o udev -p /dev/sdb debug output

Comment 2 Hans de Goede 2010-05-17 13:32:25 UTC
Created attachment 414548 [details]
broken blkid -o udev -p /dev/sdc debug output

Comment 3 Hans de Goede 2010-05-17 13:32:58 UTC
Created attachment 414550 [details]
good blkid -o udev -p /dev/sdb debug output

Comment 4 Hans de Goede 2010-05-17 13:40:56 UTC
Note broken blkid == util-linux-ng-2.17.2-2.el6, good blkid == util-linux-ng-2.17.2-1.el6. The sdc output with the "broken" blkid still does the right thing as there is no partition table there (as it is a striped set).

Comment 5 Hans de Goede 2010-05-17 14:15:11 UTC
Note to QA, this requires a specific setup and hardware I can reproduce this at will and I'll verify it once kzak has a fixed version ready, can you qa-ack this please?

Comment 6 Fedora Update System 2010-05-19 11:55:17 UTC
util-linux-ng-2.17.2-5.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/util-linux-ng-2.17.2-5.fc13

Comment 8 Karel Zak 2010-05-24 08:19:57 UTC
Fixed in util-linux-ng-2.17.2-3.el6.

Changes:

 * non-linux-raids (via, intel, ...) are expected on whole-disks only

 * MD 1.x superblock contains info about the superblock offset, libblkid uses
this info to check the superblock position on the device

 * DDF superblock position is also verified against info from DDF anchor header

 * MD 0.90 superblock contains size of the raid members (for RAID > 0),
libblkid uses this size to check if the device fits into the raid
setting. This check is not enough, so for whole-disks libblkid still
checks if the area where is the superblock is covered by any partition.
This test will also improved (partition table has to fit info the device). 

Note that the reported problem is possible to reproduce without Intel BIOS RAID, by:
 
  mdadm -q --create /dev/md8 --metadata=0.90 \
        --level=0 --raid-devices=2 /dev/sdb /dev/sdc

  fdisk /dev/md8

  blockdev --rereadpt /dev/sdb

  blkid -p -o udev /dev/sdb

the correct output from the blkid command has to be TYPE="linux_raid_member"

Comment 9 Karel Zak 2010-05-24 08:25:40 UTC
(In reply to comment #8)
> This test will also improved (partition table has to fit info the device). 

 s/will/was/

Comment 11 Fedora Update System 2010-05-28 17:57:57 UTC
util-linux-ng-2.17.2-5.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 18 releng-rhel@redhat.com 2010-11-10 21:52:41 UTC
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.