Bug 592958 - util-linux-ng-2.17-blkid-raid.patch causes whole disk raid members to not be identified
Summary: util-linux-ng-2.17-blkid-raid.patch causes whole disk raid members to not be ...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: util-linux-ng
Version: 6.0
Hardware: All
OS: Linux
low
medium
Target Milestone: rc
: ---
Assignee: Karel Zak
QA Contact: Yulia Kopkova
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-05-17 13:30 UTC by Hans de Goede
Modified: 2010-11-10 21:52 UTC (History)
4 users (show)

Fixed In Version: util-linux-ng-2.17.2-6.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-11-10 21:52:41 UTC


Attachments (Terms of Use)
broken blkid -o udev -p /dev/sdb debug output (2.04 KB, text/plain)
2010-05-17 13:31 UTC, Hans de Goede
no flags Details
broken blkid -o udev -p /dev/sdc debug output (1.66 KB, text/plain)
2010-05-17 13:32 UTC, Hans de Goede
no flags Details
good blkid -o udev -p /dev/sdb debug output (1.34 KB, text/plain)
2010-05-17 13:32 UTC, Hans de Goede
no flags Details

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.


Note You need to log in before you can comment on or make changes to this bug.