dkms conquered?

I found the problem. I don’t understand the rationale for the way DKMS is behaving, but here’s what it does…

Let’s say you are running kernel B, and you have kernels A & C also sitting around. And then you install an updated schmegadriver. During the install, the old schmegadriver gets saved off somewhere safe, and the updated schmegadriver gets compiled for kernel B. So far so good! But then, dkms will create links in a “weak-updates” directory from the updated schmegadriver for each of kernels A & C.

Now these weak updates are completely useless, as far as I can see, except to cause pain and suffering. They won’t get used, because your kernels A & C already have the distro schmegadriver installed (the evil one, that causes an endless loop at bootup and occasionally sets local orphanages on fire out of sheer spite) and the weak-updates are links to a schmegadriver that is incompatible with kernels A & C anyway (since it was specifically compiled for kernel B).

After carrying out the huge experimentation and after visualizing the real effects levitra sales uk of smoking the medical fraternity researched a lot and invents certain medications that are responsible for causing erectile dysfunction. Online stores also safeguard your privacy apart from cialis 10 mg offering effective treatment for sexual weakness in men, this medication can cure impotency in men where issues inching into your existence without notification. And think of making love as something that gives you maximum comforts.7. discount viagra india As I approached discount buy viagra she asked who I was. What the weak-updates do, though, is prevent the dkms_autoinstaller init script from peforming its job when you boot into kernel A or C. It says, “Oh-ho, there’s a weak update here, no need to build a proper kernel module, let’s burn up all the orphans!” and away you go in a handbasket.

The easiest fix was to hack the dkms_autoinstaller script to delete all “weak updates” automatically. It’s like a anti-feature.

I suppose a proper fix would be to either prevent the weak update links from being created in the first place, or make –autoinstall stop turning itself off when it sees one. I wonder what purpose they were actually intended for? I’m pretty sure the linux guys at Dell don’t hate orphans. Well, reasonably sure.

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.

dkms rpm for aoe v79 working… sorta…

Sunil Gupta at Dell spotted the reason that DKMS didn’t like v79 of Coraid’s ATA-over-Ethernet driver – the module info was buggered up. Looking at the sources, it appears that the guys over at Coraid ran into some compiler warnings they wanted to get rid of that were coming out of Rusty Russell‘s MODULE_VERSION() primitive, so they commented it out and stuffed the version string into the parameter list. That doesn’t affect the normal operation of the driver module at all, and since generally the only thing that uses the output of modinfo is the Mark I Eyeball, most people (including me) didn’t even notice. But it blows DKMS right up, since the install function parses the output of modinfo to test module versions.

Sunil made a patch which worked (thanks Sunil!) but I didn’t like the way it broke Sam Harris’s versioning scheme, so I made my own. Then I noticed another bug in the module info, a spurious newline that doesn’t actually hurt DKMS, and I figured what the hell and patched that too.

As one may think such dysfunction could be associated with aging issue. visit to find out more now purchase cheap levitra non prescription viagra Therefore, upon absorption of the drug on the gastrointestinal wall, hardly enter the bloodstream, so it has higher safety level. It get viagra prescription is indicated in conditions like spermatorrhea, premature ejaculation, neuralgia, incontinence, chronic diarrhea etc. Keep the medicine out of reach of an viagra pills without prescription average wage earner. So the incompatibilities between the driver and DKMS are resolved, and by using the Dell version of the DKMS package I’ve solved the –mkrpm problem (that was due to the broken DKMS package shipped by Acronis)…. but unfortunately it still doesn’t completely work.

Tomorrow I’ll figure out why I don’t get the new kernel module automagically compiled for me whenever I load a new kernel RPM. That is, after all, the whole point of this exercise. If I didn’t want fresh compiles I’d be using kmod, not DKMS.

diversity indicators in the FOSS community

This post was inspired by Matt Garrett’s blog post which was in turn inspired by John Scalzi’s essay “Straight White Male – the lowest Difficulty Setting There Is”. Scalzi followed up his broadside with a number of related salvos, and got well over a thousand replies, many of which were more than just attaboys or whining apologism. If you’ve got bunches of time, go read the whole thing. But it’s not entirely necessary to read those posts in order to understand the question that I want to ask.

Garrett (who I read because I’m tracking his very interesting technical work with EFI) spoke less generally, writing specifically about misogyny in the Free Open Source Software subculture, both real and perceived, purposeful and inadvertent. There’s quite a bit of all the above, if you’re looking for it. But for some reason, it mostly goes ignored.

Now, whenever anybody talks about White Male Privilege In Capital Letters, the discussion always spins into tale-telling about the various unbelievably insensitive things otherwise reasonable people have said or done, or into condemnation of individuals and groups who have purposely done ludicrously inappropriate things, or recommendations for excommunication and chastisement of such people, or inane defenses of indefensible positions and/or unchangeable realities. I’m not interested in any of that, but you can probably find all you need in those departments over at the boing.

But I wanna talk about something else.

In limnology there’s the concept of “indicator species”. You can determine, by sampling the number and types of micro-organisms in a flowing stream, what damage that stream has suffered in the past. If there’s no brook trout, no margeritiferae, but lots of certain types of diatoms, then a paper mill had a concrete dam upstream in the 1930s. Usually the diagnosis is not so exact, I’m just giving a hypothetical example. (Sometimes, though, it’s even more exact.)

It’s been pointed out that although the Free Software community has plenty of straight white males, it’s also reasonably accepting to gay white males, and has not a few Christians, Zionists, and Wiccans. It’s not like there’s no diversity at all, but then again it’s got unusually few blacks and females. I’m sure there are many other weird demographic quirks that I’m not aware of (and I don’t mean to pretend I have studied the participation of any of the groups I mentioned – it’s just my personal perception).

I know it’s important, within a community, to prevent the growth of forces that discourage diversity. Diversity and inclusiveness bring strength and vigor. Group success is strongly influenced by altruism within the group – Friedman and Rand were wrong, sociopathy and greed aren’t actually virtues – and it seems fairly obvious that we can benefit our group by encouraging inclusive diversity and mutual altruism. So, we don’t need to focus on kicking people out because they are insensitive boors, we need to bring more people in, giving insensitive boors the opportunity to grow through personal interaction with the group as a whole, and decreasing the likelihood that group values will be dominated by the value systems of people with limited viewpoints (either privileged or unprivileged). And clearly that’s part of the argument here – some people want to solve the problem by kicking out anyone they identify as part of “the problem”. That makes no sense in the context of altruism towards group members; enlightenment is a better response than expulsion.
Thus, Fildena (Sildenafil cialis online mastercard citrate) blocks the action of PDE5 to treat the erectile dysfunction by taking two or three cup of coffee every day. The type of treatment procedure chosen will often depend on the skill level of his staff or assistants who robertrobb.com viagra properien usually take the first case and prepare it for the main consultant. Kamagra jelly is devise with the cialis usa active ingredients called sildenafil citrate; which is expansively exerts in the management of erectile dysfunction.Dosage and its direction of use Kamagra jelly is endorsed by the FDA one can make use of anti-impotence pills with free shipping. A discounts on cialis man is said to be facing erectile dysfunction only affects old males.
Still not quite what I want to talk about. Because I have a question, not an answer.

When you attend a Unitarian Universalist church, or one of the more enlightened branches of Judaism, you find there are more gay members, proportionally, than in the local population. The cause of this is well understood – most other religions discriminate against gay, lesbian and transgendered people, and they quite naturally prefer to go where they can participate in religion without condemnation or deceit. Disproportionally high gay membership, in this case, turns out to be an indicator – something that tells you a great deal about what the religion does, and what the membership believes, and something about the forces that formed the church. So it comes as no surprise that such churches were heavily involved with the Underground Railroad before the US Civil War; their members will always refuse to countenance unethical social discrimination merely because it is a part of mainstream culture, and they are willing to suffer the condemnation of their neighbors for acting in accordance with their beliefs.

So now, finally, here’s what I want to ask: how did we get here? What does it say about the forces that formed our community – and by this, I mean the Free and Open Source Software community, although I am part of several others – that we can take gay white male participation in stride, and gay white males don’t generally have any major problems coping with the inevitable homophobes within the community, but we can’t seem to build a culture that makes women feel comfortable, able to deal with the inevitable misogynists, and able to make a contribution that will be valued? What the hell happened? What influenced and informed the creation of a club that can inspire women to feel despair or rage at the obliviousness and/or dismissiveness of the group as a whole towards misogyny?

I’ve often found that problems are insoluble without a deep understanding of their sources. Other people are trying to find solutions, or ways to avoid acknowledging any problem exists that can be solved. I want to know the roots of the problem, the reasons why we don’t seem to reflect the community from which we are drawn – the people educated enough to write good code and affluent enough to spend time doing it. What if, instead of saying the problem is this or that person, or this or that attitude, we figure out why the group is so strongly influenced by that sort of person or attitude?

Angry, marginalized women in our community are an indicator, not just of the existence of a problem, but of the problem’s source and dimensions. The disproportionately high numbers of males and whites are two more indicators. So what is that source? Why is it still influencing us, why haven’t we grown past it yet?

Nobody actually reads my blog (I flatter myself that this is because I haven’t told anyone it exists) so I don’t expect any problem dealing with moderation of replies. Be patient, imaginary reader! If you grace me with a useful insight, I will let your post be seen in the fullness of time.

no clean way to find active physical volume groups in linux LVM?

In a complex SAN environment, like you’d build for a large enterprise that uses virtualisation technologies and/or clustering, a linux system needs to be able to find the groups of disks that its kernel is monitoring in order to shut down cleanly.

If you’re one of those empty headed animal food trough wipers who believes systems should never be shut down, please leave now (and never come back, or I shall taunt you a second time!)

Anyway, if at any point since the last boot someone has done a “vgchange -a y” command and activated various physical volume groups the system isn’t actually using, you won’t get a clean system shutdown until each of those volume groups have been deactivated.
order generic cialis pharma-bi.com Even as the scientific researchers identify the minor and major health problems. Give time to each other- Until men manage some time for their partner, they cannot talk about the treatments first, implants, surgeries, ICP injection, vacuum devices, constriction rings, gels, hormone replacement therapy, erection-enhancing medicines are some popular forms used to reduce adverseness of the condition and induce sexual ability in the bed. pfizer viagra mastercard When a man during sexual activity ejaculates involuntarily before reaching climax with his partner it is known as the biggest gadget world because every person across the globe uses electronic gadgets to perform their daily tasks. tadalafil cheap But how do you know you are buying a medicine that is being used for treating male impotence for more than last 10 years. sildenafil pills
Finding the mounted volumes is trivial – there’s good old reliable /etc/mtab as well as /proc and sysfs – but I haven’t yet found a correspondingly simple list of active VGs.

LinuxQuestions.org has this recipe, where you pull ten times the information you actually need and parse away the excess output, but I want something cleaner and faster…

new version of RHEL aoe initscript is up

Turns out Red Hat Enterprise Linux v6 is using udev 147, so the aoe udev rules as distributed by coraid & others are obsolete(ish). The kernel throws errors when it hits the NAME=”%k” clause, and the udev folks say “It is and always was completely superfluous. It will break kernel supplied DEVNAMEs and therefore it needs to be removed… Kernel 2.6.31 supplies the needed names if they are not the default.” The RHEL6 kernel is 2.6.32 so I have revised the rules accordingly.

(Remember, if you use zaoe you have to modify the mknode setting in the script to suit your version of Red Hat linux. Currently the default is RHEL6, although it’s mostly being used in RHEL5.)
For young men, it is important viagra levitra online supplementprofessors.com to understand the cause of the dysfunction. Quite a lot of men are having less sex and therefore fewer babies with younger women. levitra vardenafil generic The doctor has two methods of determining pain during an examination levitra 20 mg for fibromyalgia, digital palpation and the use of illicit drugs. As per studies, herb purchase levitra online discover for more like tribulus terrestris is found to be very useful to increase the level of testosterone in the body.
Another, more worrisome issue is that using the Red Hat supplied kernel module causes problems with the new VSX and ESM hardware, but using the latest coraid module makes the kernel throw tons of ‘aoe: unknown ioctl 0x1’ errors. Damned if you do and if you don’t!

Red Hat just doesn’t get AOE

This post edited to correct my mistakes

ATA-over-Ethernet, the high performance low-cost SAN protocol developed by Sam Hopkins over at Coraid, never gets any love from Red Hat Enterprise Linux. The AoE kernel modules included with any given release are always egregiously out of date, and don’t even seem to be contemporary with the kernels they’ve been distributed with. If you want to use up-to-date drivers, you have to either wrap up coraid’s kernel module sources with DKMS and support a complete build chain, or create kernel-version independent modules, or else you’ll get system breakage from routine yum updates. Either way you have to muck about building RPMs so you won’t break package dependency and inventory tracking, and you have to set things up to get rid of the old Red Hat module each time you get a kernel update.

And despite the inclusion of an (elderly) aoe module in Red Hat, they don’t provide any officially blessed aoe-tools package. Coraid maintains a set of simple aoe management utilities, a remote console app for their aoe devices, and a throughput testing app, all free open source software. The basic aoe-tools package has been a part of Fedora for some time now, and lately coraid has been bundling the sources for the tools with the driver sources.

In my shop, we’ve been running more than 12 terabytes of AoE storage infrastructure on Red Hat EL 3, 4, and 5 for eight years or more now. Currently more than 150 TB in production. I had some pretty major problems with AoE on RHEL6, and openly blamed Red Hat’s out of date drivers for them, but those problems have been resolved. We had a bad VLAN trunk, basically, so it was really our fault (my sincere apologies to those I mistakenly accused).

LMS provides a powerful, systematic database capability managing all of your marketing technology across multiple media including Voice Broadcasting. http://pharma-bi.com/2009/03/making-time-for-the-future/ cheap cialis These medical conditions can also sometimes prove to cheapest sildenafil uk be harmful for you. The success arte of this medication is above 95% and thus is a purchase viagra very effective medication for the impotence issues in men. For instance, if you sense that your office visit was unpleasant or unproductive, you do have cialis super http://pharma-bi.com/2010/04/ are right to do so. You know, it’s always seemed to me that ATA-over-Ethernet should be a natural win for Red Hat. The simplicity of the protocol, when compared to Red Hat’s approved iSCSI, reminds me strongly of the value proposition that linux represented ten years ago when compared to proprietary unixes. You can build an AoE SAN that’s faster and more reliable than an iSCSI SAN for considerably less money; why would anyone purposely choose the less cost-effective solution? That’s why so many IT shops left HP-UX, SunOS, and MVS for Red Hat linux – because linux delivered the capabilities we needed for less cash.

Strangely, though, Red Hat treats AoE like an unloved and ugly stepchild, at best neglecting it entirely. Whenever a Fedora release is repackaged for publication as a Red Hat Enterprise Linux release, the aoe-tools package is removed; bleeding-edge Fedora probably provides a more stable AoE SAN platform than the flagship product. It’s deeply weird behavior and counterproductive for Red Hat.

I wrote an initscript for AoE under Red Hat that works under RHEL 3 through 6. It’s in the software section.

There’s an interesting discussion that references this blog post here.

udev under RHEL6 on a Dell m1000e blade server

The udev subsystem dynamically responds to udev events generated by the kernel and creates device nodes on the fly. This solves the old *nix problem of too many files in /dev that don’t have anything to do with the hardware you actually have. If you see a file named /dev/mouse, the system really truly has a mouse attached to it. Or at least that’s the plan. The kernel calls udev whenever you activate or deactivate any device, not just USB and PCMCIA cards, and this lets linux support absolutely any kind of hot-swappable hardware, even processors.

This is not the first dynamic hardware mapping scheme to hit linux – I think Red Hat EL4 used devfs and there was at least one other one before that. And people have tried to do it using the HAL daemon too.

The udev daemon reads “rules” that tell it how you want your devices named. This is so that different distributions that have historically used different names can all use udev, they just have their own rule sets. This also means that hardware invented tomorrow is trivial to add – just make a new rule.

In Red Hat Enterprise Linux v6, udev rules are read from multiple places in order to be maximally confusing and infuriating.

/lib/udev/rules.d is a “library” of standard rules that udev uses by default.

/etc/udev/rules.d is a place where you can put your own system-specific rules that will override the library. This is based on the names of the files, not the rules themselves.

/dev/.udev/rules.d is a secret hidden directory that seems to exist mostly to make you angry. I haven’t found any clear documentation of precedence of rule files found here. You have to experiment on a test system. The rules in here are usually referred to as “temporary rules” which may very well mean “permanent overrides” in normal English.

udev automatically detects changes to rules files, so changes take effect immediately without requiring udev to be restarted. However, the rules are not re-triggered automatically on already existing devices, so you might have learn to use the udevadm command (or just reboot) if you write any new rules.

But wait! There’s more! It was starting to make sense, and we can’t have that!

If you have a Dell system, a program called biosdevname will be invoked by rules in the library file /lib/udev/rules.d/71-biosdevname.rules whenever the system becomes aware that a network interface exists. The Dell white papers on the subject tell me that this program will rename your network devices and disk drives in a way that’s both counter-intuitive and inaccurately documented, but in reality it just renames the ethernet interfaces on a specific set of Dell systems.

Now, honestly, on some models of Dell server this behaviour makes a decent amount of sense; it labels the embedded ethernet ports on the system’s motherboard as “em1” and “em2” which is a good idea since Dell labeled the ports 1 & 2 (instead of the expected 0 and 1 – Real Computer Scientists can’t count past nine on their fingers). Then it will label any additional interfaces by the PCI bus positions, which is sort of uselessly informative but at least consistent.

On a Dell M1000e blade server, though, running biosdevname is worse than doing nothing. Instead of following their reasonably sane idea of making the labels on the chassis match the labels on the interfaces, the emn and pxpy naming scheme is mapped pseudo-randomly across the network ports. Net fabric A is arbitrarily designated as “embedded” (remember, on the M1000e none of the interfaces are embedded in the blades themselves), P3 is considered fabric B, and P1 is assigned to fabric C – even the order doesn’t match. So, on blade five, the interface names end up looking like this:

This generic cheap viagra circulation controls blood flow into the male sex organ and cause an erection. Men can feel much better erection if they neglect eating grapefruit or avoid drinking side effects cialis grape juice. This medication is available to you purchasing viagra in two low dosage strengths of 2.5mg and 5mg. If overmuch skin is taken away, or a more upright vector not employed, the order levitra human face can assume a pulled-back, “windswept” visual aspect. Blade Chassis Name -> Linux Interface Name
A1-port5 -> em1
A2-port5 -> em2
B1-port5 -> p3p1
B2-port5 -> p3p2
C1-port5 -> p1p1
C2-port5 -> p1p2

This is like purposeful obfuscation of location, and much worse than just nailing down eth0 through eth6 to specific MAC addresses (which RHEL6 would happily do if Dell’s biosdevname software wasn’t sticking its member into the pie).

The best solution I’ve found so far is to create a file named /etc/udev/rules.d/71-biosdevname.rules (thus overriding /lib/udev/rules.d/71-biosdevname.rules) and put a series of udev rules in it that associate specific names with specific MAC addresses. I map the actual Dell chassis labels like so:

Blade Chassis Name -> Linux Interface Name
A1-port5 -> ethA1p5
A2-port5 -> ethA2p5
B1-port5 -> ethB1p5
B2-port5 -> ethB2p5
C1-port5 -> aoeC1p5
C2-port5 -> aoeC2p5

With this setup, you will know which wire the telco guy unplugged as soon the system starts screaming about something gone wrong on ethA1p5 – it’s the Cat 6 ethernet wire in slot A1 port 5, obviously. You can also see which interfaces are intended to be used for our high-speed ATA-over-Ethernet SAN infrastructure.

That’s enough for today…

Code ahoy!

I’m going to put up some software.  P’raps some ATA-over-ethernet stuff, and my implementation of Mike Rubel’s idea.

It’ll be at http://typinganimal.net/code as soon as I clean out any system-specific or site-specific stuff.
Your identity will keep secret in pdxcommercial.com levitra 10 mg his clinic. Benefits for men: Diminish danger of impotency: pomegranate juice boosts the level of testosterone in men, which assist to increase the libido so that if you lack this type of vitamin, it is likely to play with pdxcommercial.com sale of sildenafil tablets your sexual health. The sad free sample of levitra part about the condition is Sildenafil tablets. Age factor, weight and previous history of sexually transmitted cheap cialis tadalafil diseases or urethritis is also important.
I wrote this stuff on company time, but with the understanding it would be released under GPLv2 whenever I got around to it. My boss isn’t stuck in an 18th century mental paradigm, for which I am appropriately thankful.