← Back to team overview

kernel-packages team mailing list archive

[Bug 1479031] Re: attached block devices not showing up

 

Here is a PPA with a fix for this:

https://pad.lv/ppa/ddstreet/lp1479031

There was no code change required; the only change is the acpiphp driver
is built-in, instead of a module.

During boot, when the pci-acpi driver is loaded, it enumerates the bus.
Later when the acpiphp driver is loaded, it registers for any pci-acpi
hotplug events.  Between the pci-acpi driver loading and the acpiphp
driver loading, any pci acpi hotplug events are lost, since the bus was
already enumerated and there is no driver monitoring hotplugs.

Currently (without this PPA), pci-acpi is built-in, and enumerates the
pci acpi devices/buses during boot.  The acpiphp driver is a module,
however, and therefore loads much later - more than 4 seconds later, in
my brief tests.  With this PPA, the acpiphp driver is built-in, and
loads a fraction of a second after the pci-acpi driver - less than 1/4
second in my brief tests.

So to clarify, this does not eliminate the window of time where pci acpi
hotplug events will be lost, it only reduces it from multiple seconds,
down to a small fraction of a second.

You can check the size of the window where hotplug events will be lost with:
# dmesg | grep "ACPI: bus type pci"
[    0.230350] ACPI: bus type pci registered
# dmesg | grep "acpiphp: ACPI"
[    0.517999] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5

that's not the exact window, since pci enumeration happens after the bus
type is registered, so it's a bit smaller than that.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1479031

Title:
  attached block devices not showing up

Status in linux package in Ubuntu:
  Fix Released
Status in linux source package in Precise:
  In Progress

Bug description:
  I have Ubuntu Precise guests running in kvm to which I attach volumes
  immediately after boot. Sometimes I notice that the devices do not
  show up in the guest e.g. they are not visible in /proc/partitions and
  dmesg boot log shows no sign of then being noticed. Qemu itself shows
  that the devices are attached and if I do a rescan within the guest
  the devices appear. A reboot also cause the devices to appear. So, it
  feels like there is enough evidence to suggest that the devices were
  properly attached by qemu/seabios but they just didn't get noticed by
  the guest.

  This issue is reproducible with Precise running 3.2, 3.5 (lts-quantal)
  and 3.8 (lts-raring) kernels but not as of 3.11 (lts-saucy) so it
  would appear that something changed between 3.8 and 3.11 that resolved
  this issue and if we can identify it we should backport to 3.2.

  I am able to reproduce this issue using Openstack to spin up vms and
  attach volumes using the following script:

  http://pastebin.ubuntu.com/11954253/

  I hit this issue with 1/2 instances.

  As a workaround one can rescan and the device shows up:
  echo 1 | sudo tee /sys/bus/pci/rescan

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1479031/+subscriptions


References