*** This bug is a duplicate of bug 77734 ***
    https://bugs.launchpad.net/bugs/77734

Yes, that is what I wanted, thank-you.

The issue is not related to udev. This is an issue with how the kernel
scans block devices for partitions during start-up. I've confirmed that
this issue is caused by the issue I reported in bug #77734.

Here's some significant log messages:

[    6.136056]  sda: sda1
[    6.160201] sda: p1 exceeds device capacity

[    6.160504]  sdb: unknown partition table

[   10.488869] attempt to access beyond end of device
[   10.488874] sda: rw=0, want=1172134336, limit=586072368
[   10.488876] Buffer I/O error on device sda1, logical block 1172134272

The story is this. Once a block device is found it is scanned for a
partition table. If one is found it is reported partition by partition.
A successful scan is reported thus (example from a non-dmraid disk):

[    2.343465]  sda: sda1 sda2 sda3 sda4

 In reporting the partition the logic traverses the partitions looking
for extended partitions containing logical partitions.

If the dmraid array is striped (RAID 0) the RAID volume starts on disk sda and 
ends on disk sdb. The primary partition table (MBR) this case is at sector 0 of 
the logical RAID volume, which just happens to also be at sector 0 of sda.
The partition table entries will contain offsets into the logical RAID volume 
which is larger than sda.

The logic in fs/partitions/msdos.c::msdos_partition() (tries to) scan
each primary and extended partition when the block device is being
built.

In trying to seek to the end of sda1 the LBA sector number it is using
is logical, not physical. In striped arrays it almost certainly points
to a sector that is physically on sdb.

dmraid differs from md (multiple disk) RAID arrays in that md works
within the limits of the physical disks (usually built from groups of
partitions). The md superblock (4KB) is stored at the end of a partition
(usually in the last 64KB).

dmraid was designed to support the 'fake' RAID meta-data signatures of
Promise FasTrak and the like which were originally implemented in
controller BIOS and Windows device drivers.

I've marked this bug a duplicate of bug #77734 and added the upstream
bug reference to that bug, reopening it against upstream Linux.

** This bug has been marked a duplicate of bug 77734
   Disk Read Errors during boot-time caused by probe of invalid partitions

-- 
dmraid & attempt to access beyond end of device
https://bugs.launchpad.net/bugs/329880
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to