kernel-packages team mailing list archive
-
kernel-packages team
-
Mailing list archive
-
Message #130882
[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