Bug 704309

Summary: virtio_pci actually required, but not depended on by virtio_blk module
Product: [Fedora] Fedora Reporter: joshua
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED WORKSFORME QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 15CC: gansalmon, itamar, jonathan, kernel-maint, madhu.chinakonda
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-16 20:18:46 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description joshua 2011-05-12 18:22:41 UTC
Description of problem:

When converting a VM over to use virtio recently,  had to change modprobe.conf to reference virtio_blk and virtio_net, and remake the initrd.

When running mkinitrd with verbose output, I noticed that virtio_blk, virtio_pci, virtio_ring, and virtio where referenced as being included in the initrd.

A reboot doesn't work, as the kernel can't find its own root disk.
I rescued the system, and remade the initrd with exactly the same command as before, the one addition:  --with=virtio_pci

This works!

The problem is shown by "modinfo virtio_blk".  Notice that virtio_pci isn't listed as a dependency... even though it is actually required to work properly.
Can we get this fixed so that mkinitrd doesn't unknowingly create incomplete initrds ?


Version-Release number of selected component (if applicable):

Any kernel in any recent Fedora release in the past few years

Comment 1 joshua 2011-05-12 18:23:32 UTC
See http://lkml.indiana.edu/hypermail/linux/kernel/0812.1/00538.html for a possible fix

Comment 2 Chuck Ebbert 2011-05-14 08:03:37 UTC
(In reply to comment #2)
> Description of problem:
> 
> When converting a VM over to use virtio recently,  had to change modprobe.conf
> to reference virtio_blk and virtio_net, and remake the initrd.
> 
> When running mkinitrd with verbose output, I noticed that virtio_blk,
> virtio_pci, virtio_ring, and virtio where referenced as being included in the
> initrd.
> 
> A reboot doesn't work, as the kernel can't find its own root disk.
> I rescued the system, and remade the initrd with exactly the same command as
> before, the one addition:  --with=virtio_pci
> 
virtio_pci and virtio_ring are built into the kernel, so modules with those names don't even exist in Fedora kernel packages. How could they be added to an initrd?

Comment 3 joshua 2011-05-16 20:18:46 UTC
Sorry, wrong distro.  This is a RHEL5 and RHEL6 problem.