Bug 159678 - delay needed after loading 3w-9xxx before root becomes visible
Summary: delay needed after loading 3w-9xxx before root becomes visible
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: mkinitrd
Version: 4.0
Hardware: i686
OS: Linux
Target Milestone: ---
: ---
Assignee: Brian Lane
QA Contact: Kevin Baker
Depends On:
TreeView+ depends on / blocked
Reported: 2005-06-06 21:57 UTC by imorgan
Modified: 2014-12-01 23:08 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2011-07-27 17:57:28 UTC
Target Upstream Version:

Attachments (Terms of Use)

Description imorgan 2005-06-06 21:57:16 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050513 Fedora/1.0.4-1.3.1 Firefox/1.0.4

Description of problem:
The 'init' script created my mkinitrd assumed that immediately after insmod 3w-9xxx, it should be able to mount the root filesystem, but the 3w-9xxx driver takes 2-3 seconds to scan for the arrays and make them visible to the system. As-is, the initrd will fail (unable to mount root), because the root filesystem doesn't exist yet.

By manually editing the init script and re-packing the initrd, I can make it properly mount the root fs by adding:

   sleep 5

right after the insmod 3w-9xxx.

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

How reproducible:

Steps to Reproduce:
1. mkinitrd as usual on a system with 3w-9xxx.
2. reboot.
3. watch the initrd fail to mount the root fs.

Actual Results:  initrd fails to mount the root fs.

Expected Results:  Wait for the 3w-9xxx initialization to complete before proceeding, or retry mounting the rootfs every few seconds until some timeout (say 30 seconds) before failing.

Additional info:

I classify this a "Normal" severity, not low, because the loss of functionality is not minor (system won't boot), and the workaround, although not overly complex, is time consuming and awkward as the initrd must be manually fixed each mkinitrd is used.

Comment 2 imorgan 2005-06-14 21:09:37 UTC
I see that mkinitrd already has special cases for block device modules that
require a delay after loading. For example, the usb-storage module. I have added
an identical special case for the 3w-9xxx module with a 5 second sleep, and now
I can boot consistently without having to manually hack the initrd. Please add
this fix to mkinitrd.

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