Red Hat Bugzilla – Bug 228873
openibd is not loaded on Pathscale InfiniBand cards.
Last modified: 2007-11-30 17:07:28 EST
Created attachment 148125 [details]
Patch to init script to load with Pathscale InfiniBand cards.
Patch to openibd that fixes the problem.
This bug has already been fixed in the packages slated for RHEL4.5. Test
packages to confirm the fix can be downloaded from
Note, this version of the openibd script fixes the problem in a more generic
fashion and removes the need to hardcode lspci values in the init script itself,
instead relying on modinfo tables read from modules to determine what devices
have a driver that supports them.
Wow. That was super quick. Thanks!
[root@ibm-ridgeback ~]# /etc/init.d/openibd start
Loading OpenIB kernel modules: execvp: No such file or directory
Looking at the scripts, the openibd does this:
action $"Loading OpenIB kernel modules: " start
and inside action function (in /etc/rc.d/init.d/functions) this fails:
initlog $INITLOG_ARGS -c "$*" && success $"$STRING" || failure $"$STRING"
The $* translates to start, and initlog tries to execute that and fails.
Created attachment 148145 [details]
Patch to openibd script to work around difference between RHEL4 and RHEL5 action statement in init scripts
OK, that's a valid issue. I had already fixed it, but it evidently didn't get
checked into CVS. I'll make an openib-1.1-6 that corrects the problem. I'll
also attach a diff from the broken openibd to the fixed openibd so you can test
for yourself that the problem is solved.
openib-1.1-6 has been built into the build system and is also available on my
Patch fixes the problem.
Since this isn't attached to an errata anywhere, it won't get transitioned to
closed when the errata ships, so closing it out as CURRENTRELEASE since the fix
has been verified.
Am I missing something here? I did test this with rhel 5.0 (openib-1.1-4) and it
did indeed work. Or was this something particular to rhel 4.5 ?
It's particular to RHEL4.5. In specific, the function action() in
/etc/init.d/functions is different between RHEL4.5 and RHEL5 and it requires a
different method of usage. In RHEL5, action() can be used to call shell
functions embedded in the init script (which is what openibd did), where as in
RHEL4.5, action() requires the first argument to be an executable file on the
filesystem. I rewrote the start/stop/restart sections of the openibd script to
not use action() and instead do what action() does on RHEL5. I did this *long*
ago on one of my test machines, but did the editing on the file actually in
/etc/init.d, and once I got it right, forgot to copy it into my cvs repo and
check it in, hence why it was missing from the build done through the build