aoe/dkms/rhel6 redux

Situation as it stands:

The aoe v22i kernel module distributed with RHEL5 is not a major problem. It occasionally has boot issues, where it’s unable to find and mount volumes, but a reboot usually clears this right out, so I think it’s a minor timing bug, probably a race condition; the protocol uses fixed intervals which are not based on primes. We can ignore all that for the moment since it only happens occasionally at boot.

However, the aoe v47 kernel module distributed with RHEL6 causes an infinite loop at boot when used with the Coraid VSX appliances. The only way out of the loop appears to be hard power off. This is obviously a major issue!

Dell’s Dynamic Kernel Module System offers a way to use updated drivers that should prevent the system from blowing up every time a sysadmin types “yum update”. So we should, in theory, be able to use the latest greatest aoe module with dkms and be happy… provided both DKMS and the l.g.a.m. actually work. Hilarity ensues.

The aoe v6-79 kernel module currently available on the coraid and sourceforge sites works reasonably well. It spits out a screen or two of “unsupported ioctl” warnings shortly after boot, but these do not appear to affect function. It has another bug that will never affect disk I/O, but which is a major problem for DKMS. If you do a “modinfo aoe” the output is formatted incorrectly, and DKMS uses that output to determine kernel module version.
You don t have to viagra sans prescription cute-n-tiny.com consult a doctor regarding the product today! More and more people are ever more relying on low price medicines. Emotional problems that should be psychological problems, heart disease medicine for the heart, it purchase cheap cialis check this now is best that you check out all the things you need to consider proper frame size, handle and saddle-bar height, saddle tilt, saddle fore and model of saddle. Causes of Low Testosterone Testosterone is a chief steroid hormone developed in the body, which plays a significant role in keeping a healthy body and a free viagra india healthy blood flow. This sort of medication presents symptomatic and precautionary therapy. viagra 25 mg
With help from others, I made a little patch set that fixes the modinfo problem with aoe6-79 and Ed Cashin at coraid.com is receptive to including it in the next version release. In the meantime I have built the patched version and integrated it with DKMS.

The DKMS package that comes with Acronis, that we have installed on most of our machines, is very broken. We need to replace it. I don’t know how to backfeed changes to Acronis, but for the moment I’m just going to make replacing Acronis’s package a requirement for installing my aoe6-79 package.

The DKMS package currently being distributed by Dell is also broken, at least on current Red Hat. I am trying to figure out how to patch that as well. I’ve already patched the dkms-autoinstaller init script, but now I need to figure out why –autoinstall does not work. The way DKMS reverses normal unix program output conventions is irritating – DKMS is chatty when it works, and silent when it breaks. This transgression of one of the most basic rules of *nix makes the bearded Dennis Ritchie sad.

Work is being done, progress is being made, and a breakthrough is inevitable, as Mr. Z. would say.

4 thoughts on “aoe/dkms/rhel6 redux

  1. Patch for aoe6-79 modinfo:

    
    diff -uprN aoe6-79/linux/drivers/block/aoe/aoemain.c aoe6-79.ctb/linux/drivers/block/aoe/aoemain.c
    --- aoe6-79/linux/drivers/block/aoe/aoemain.c   2012-02-09 15:43:04.000000000 -0500
    +++ aoe6-79.ctb/linux/drivers/block/aoe/aoemain.c       2012-06-20 11:36:38.436643337 -0400
    @@ -14,15 +14,8 @@
    
     MODULE_LICENSE("GPL");
     MODULE_AUTHOR("Sam Hopkins ");
    -MODULE_DESCRIPTION("AoE block/char driver for 2.6.2 and newer 2.6 kernels");
    -/* this creates warning "Warning: could not find versions for .tmp_versions/aoe.mod"
    +MODULE_DESCRIPTION("AoE block/char driver for 2.6.9 and newer 2.6 kernels");
     MODULE_VERSION(VERSION);
    -*/
    -
    # embedding version in params makes the baby DKMS cry - CTB
    -/* modinfo sometimes works, but this will be in sysfs */
    -static char version[] = VERSION;
    -module_param_string(version, version, sizeof version, 0400);
    -MODULE_PARM_DESC(version, "aoe module version " VERSION "\n");
    
     enum { TINIT, TRUN, TKILL };
    
    diff -uprN aoe6-79/linux/drivers/block/aoe/aoenet.c aoe6-79.ctb/linux/drivers/block/aoe/aoenet.c
    --- aoe6-79/linux/drivers/block/aoe/aoenet.c    2012-02-09 15:43:04.000000000 -0500
    +++ aoe6-79.ctb/linux/drivers/block/aoe/aoenet.c        2012-06-20 11:37:34.012643361 -0400
    @@ -30,7 +30,7 @@ enum {
    
     static char aoe_iflist[IFLISTSZ];
     module_param_string(aoe_iflist, aoe_iflist, IFLISTSZ, 0600);
    # remove spurious carriage return from modinfo params - CTB
    -MODULE_PARM_DESC(aoe_iflist, "aoe_iflist=dev1[,dev2...]\n");
    +MODULE_PARM_DESC(aoe_iflist, "aoe_iflist=dev1[,dev2...]");
    
     static wait_queue_head_t txwq;
     static struct ktstate kts;
    
    
    • Charlie, good luck getting through to the DKMS developers… not much action over there, they haven’t put out a new RPM in more than six months. You also might try the Dell Linux Poweredge mailing list since the devs hang out on that list.

      • You can get the latest DKMS from their git tree and use the .spec file to make your own RPM pretty easily.

  2. Patch for DKMS failure to fail properly:

    
    --- /usr/sbin/dkms      2011-12-07 13:29:27.000000000 -0500
    +++ dkms-patched        2012-06-21 17:01:40.548541601 -0400
    @@ -3488,6 +3488,11 @@ if [[ $arch && $all ]]; then
     fi
    
     # Run the specified action
    +if [ -z "$action" ]; then
    +    show_usage
    +    die 4 $"No action was specified."
    +fi
    +
     for action_to_run in $action; do
         setup_kernels_arches "$action_to_run"
         case "$action_to_run" in
    

Comments are closed.