login
Header Space

 
 

Linux: IDE Layer Dissension

April 29, 2005 - 9:29am
Submitted by Jeremy on April 29, 2005 - 9:29am.
Linux news

Alan Cox [interview] maintained the 2.4 Linux kernel's IDE layer. Then, in August of 2003 he began a one year sabbatical [story], and in early 2.5 development Bartlomiej Zolnierkiewicz took over maintainership of the IDE layer. In a recent posting to the lkml Alan complained about broken functionality in 2.6.12-rc3 saying, "now I come back to look at the ide layer ready for a 2.6.12 merge and its all a bit messy. The open code was clean and is now duplicated. Copies of subtly different per driver gendisk/disk layer open routines have appeared that should be shared. The default driver handling has been removed and half the options for obscure systems have been marked obsolete in some Gnome like purge of functionality that might scare small children."

Bartlomiej replied by suggesting, "maybe you should mail [the] current maintainer before spreading FUD?" pointing out that, "these patches were posted at least two times to both linux-ide and linux-kernel, they were in -mm for ages". He went on to explain, "there was a lot new stuff added when you were away (i.e. driver-model and IDE code needs to conform with it to get sane power management and sysfs support) and that a lot of other things have changed (influencing IDE)." The less than cordial exchange included Alan commenting, "I had hoped that I wouldnt have to totally fork the 2.6 IDE code in order to get back to where 2.4-ac was and get the locking working so you can't oops it via /proc", and Bartlomiej replying, "feel free to fork so you'll be wasting your time only and not mine."


From: Alan Cox [email blocked]
To:  linux-ide, [email blocked]
Subject: Multiple functionality breakages in 2.6.12rc3 IDE layer
Date: 	Thu, 28 Apr 2005 16:48:05 +0100

Ages ago we added an ide_default driver to clean up all the corner cases
like spurious IRQs for a device with no matching driver (eg ide-cd and
no CD driver) as well as ioctls and file access. 

2.6.12rc removes it. Unfortunately it also means that if your only IDE
interface is one you hand configure you can no longer run Linux. It also
changes other aspects of behaviour although they don't look problematic
for most users. You can no longer
	- Control the bus state of an interface
	- Reset an interface
	- Add an interface if none exist
	- Issue raw commands
	- Get an objects bios geometry
	- Read the identify data by ioctl (its still in proc but may be stale)

without having a device specific driver loaded matching the media - and
that only works if its already detected the device correctly.

I don't have the tools at the moment to generate spurious IRQ's for
devices with no driver loaded but it does look like the code may well
then crash. From the way the changes were done it appears the current
IDE maintainers never appreciated that ide_default existed for far more
than just cleaning up ide-proc but also to handle IRQ's, opening of
empty slots, ioctls and power
management ?

The ability to specify the IDE ports on the command line as needed for
some Sony laptop installs have also become "obsolete" over time. They
still appear to work but spew a warning that the user will soon be
screwed.

Alan


From: Bartlomiej Zolnierkiewicz [email blocked] Subject: Re: Multiple functionality breakages in 2.6.12rc3 IDE layer Date: Thu, 28 Apr 2005 22:41:00 +0200 On 4/28/05, Alan Cox [email blocked] wrote: > Ages ago we added an ide_default driver to clean up all the corner cases s/clean up/hide/ > like spurious IRQs for a device with no matching driver (eg ide-cd and > no CD driver) as well as ioctls and file access. > > 2.6.12rc removes it. Unfortunately it also means that if your only IDE > interface is one you hand configure you can no longer run Linux. It also > changes other aspects of behaviour although they don't look problematic > for most users. You can no longer > - Control the bus state of an interface > - Reset an interface > - Add an interface if none exist > - Issue raw commands > - Get an objects bios geometry > - Read the identify data by ioctl (its still in proc but may be stale) Details please. > without having a device specific driver loaded matching the media - and > that only works if its already detected the device correctly. > > I don't have the tools at the moment to generate spurious IRQ's for > devices with no driver loaded but it does look like the code may well > then crash. From the way the changes were done it appears the current > IDE maintainers never appreciated that ide_default existed for far more > than just cleaning up ide-proc but also to handle IRQ's, opening of > empty slots, ioctls and power > management ? Maybe you should mail current maintainer before spreading FUD? No functionality was removed AFAIK, see the patches. I spend quite a bit of time making sure that nothing breaks up (I missed one special case but somebody already posted patch to LKML fixing it). These patches were posted at least two times to both linux-ide and linux-kernel, they were in -mm for ages - were you hiding under the rock? > The ability to specify the IDE ports on the command line as needed for > some Sony laptop installs have also become "obsolete" over time. They > still appear to work but spew a warning that the user will soon be > screwed. This was discussed few times already. Alan, seriously, what is your problem? Bartlomiej
From: Alan Cox [email blocked] Subject: Re: Multiple functionality breakages in 2.6.12rc3 IDE layer Date: Thu, 28 Apr 2005 23:32:03 +0100 On Iau, 2005-04-28 at 21:41, Bartlomiej Zolnierkiewicz wrote: > On 4/28/05, Alan Cox [email blocked] wrote: > > Ages ago we added an ide_default driver to clean up all the corner cases > > s/clean up/hide/ Matter of opinion. > > for most users. You can no longer > > - Control the bus state of an interface > > - Reset an interface > > - Add an interface if none exist > > - Issue raw commands > > - Get an objects bios geometry > > - Read the identify data by ioctl (its still in proc but may be stale) > > Details please. If you need details you shouldn't be maintaining that code. Its obvious why. You've disabled open() of a device with no bound driver. > No functionality was removed AFAIK, see the patches. I spend quite > a bit of time making sure that nothing breaks up (I missed one special > case but somebody already posted patch to LKML fixing it). Build a kernel without ide-cd. Now try and issue ioctls on it. Doesn't work any more does it. > > These patches were posted at least two times to both linux-ide and > linux-kernel, they were in -mm for ages - were you hiding under the > rock? No, just doing an MBA thesis, a job, learning a second language and trying to beat sense into our politicians. Now I come back to look at the ide layer ready for a 2.6.12 merge and its all a bit messy. The open code was clean and is now duplicated. Copies of subtly different per driver gendisk/disk layer open routines have appeared that should be shared. The default driver handling has been removed and half the options for obscure systems have been marked obsolete in some Gnome like purge of functionality that might scare small children. > > The ability to specify the IDE ports on the command line as needed for > > some Sony laptop installs have also become "obsolete" over time. They > > still appear to work but spew a warning that the user will soon be > > screwed. > > This was discussed few times already. And the discussion lead to no fixes > Alan, seriously, what is your problem? The fact that the IDE layer appears to be getting worse not better, which given the starting point is a remarkable achievement. Alan
From: Bartlomiej Zolnierkiewicz [email blocked] Subject: Re: Multiple functionality breakages in 2.6.12rc3 IDE layer Date: Fri, 29 Apr 2005 01:00:06 +0200 On 4/29/05, Alan Cox [email blocked] wrote: > On Iau, 2005-04-28 at 21:41, Bartlomiej Zolnierkiewicz wrote: > > On 4/28/05, Alan Cox [email blocked] wrote: > > > Ages ago we added an ide_default driver to clean up all the corner cases > > > > s/clean up/hide/ > > Matter of opinion. No, it hided holes in the locking which is getting fixed finally. > > > for most users. You can no longer > > > - Control the bus state of an interface > > > - Reset an interface > > > - Add an interface if none exist > > > - Issue raw commands > > > - Get an objects bios geometry > > > - Read the identify data by ioctl (its still in proc but may be stale) > > > > Details please. > > If you need details you shouldn't be maintaining that code. Its obvious Give details or quit whining. > why. You've disabled open() of a device with no bound driver. Guess what open() for ide-default was doing in 2.6? return -ENXIO; and no it wasn't my change - it was the effect of fixing locking of the higher layers. > > No functionality was removed AFAIK, see the patches. I spend quite > > a bit of time making sure that nothing breaks up (I missed one special > > case but somebody already posted patch to LKML fixing it). > > Build a kernel without ide-cd. Now try and issue ioctls on it. Doesn't > work any more does it. > > > > > These patches were posted at least two times to both linux-ide and > > linux-kernel, they were in -mm for ages - were you hiding under the > > rock? > > No, just doing an MBA thesis, a job, learning a second language and > trying to beat sense into our politicians. Now I come back to look at It seems that they influenced you heavily... > the ide layer ready for a 2.6.12 merge and its all a bit messy. The open > code was clean and is now duplicated. Copies of subtly different per You must be joking. > driver gendisk/disk layer open routines have appeared that should be Each change was given rationale and detailed changelog, maybe you should get familiar with them. Also look for patch converting device drivers to sysfs (posted few times). > shared. The default driver handling has been removed and half the > options for obscure systems have been marked obsolete in some Gnome like > purge of functionality that might scare small children. > > > > The ability to specify the IDE ports on the command line as needed for > > > some Sony laptop installs have also become "obsolete" over time. They > > > still appear to work but spew a warning that the user will soon be > > > screwed. > > > > This was discussed few times already. > > And the discussion lead to no fixes So fix the real bugs and leave debugging stuff alone. > > Alan, seriously, what is your problem? > > The fact that the IDE layer appears to be getting worse not better, > which given the starting point is a remarkable achievement. Personal insults are easy, get technical facts. Bartlomiej
From: Alan Cox [email blocked] Subject: Re: Multiple functionality breakages in 2.6.12rc3 IDE layer Date: Fri, 29 Apr 2005 00:43:27 +0100 On Gwe, 2005-04-29 at 00:00, Bartlomiej Zolnierkiewicz wrote: > > why. You've disabled open() of a device with no bound driver. > > Guess what open() for ide-default was doing in 2.6? > > return -ENXIO; > > and no it wasn't my change - it was the effect of fixing > locking of the higher layers. Yes so it needed fixing and without all the kref, kmalloc, unique object structure per ide driver code spew too. > > The fact that the IDE layer appears to be getting worse not better, > > which given the starting point is a remarkable achievement. > > Personal insults are easy, get technical facts. I consider that a technical fact. The last IDE code I maintained fully in 2.4 had mostly working locking, drive hotplug, open for unbound drivers, didnt oops on spurious irqs and wasn't losing all sorts of useful boot options. I had hoped that I wouldnt have to totally fork the 2.6 IDE code in order to get back to where 2.4-ac was and get the locking working so you can't oops it via /proc Alan
From: Bartlomiej Zolnierkiewicz [email blocked] Subject: Re: Multiple functionality breakages in 2.6.12rc3 IDE layer Date: Fri, 29 Apr 2005 02:23:39 +0200 On 4/29/05, Alan Cox [email blocked] wrote: > On Gwe, 2005-04-29 at 00:00, Bartlomiej Zolnierkiewicz wrote: > > > why. You've disabled open() of a device with no bound driver. > > > > Guess what open() for ide-default was doing in 2.6? > > > > return -ENXIO; > > > > and no it wasn't my change - it was the effect of fixing > > locking of the higher layers. > > Yes so it needed fixing and without all the kref, kmalloc, unique object > structure per ide driver code spew too. IDE is similar to SCSI now in this respect. Are you claiming that SCSI needs fixing too? > > > The fact that the IDE layer appears to be getting worse not better, > > > which given the starting point is a remarkable achievement. > > > > Personal insults are easy, get technical facts. > > I consider that a technical fact. The last IDE code I maintained fully > in 2.4 had mostly working locking, drive hotplug, open for unbound > drivers, didnt oops on spurious irqs and wasn't losing all sorts of > useful boot options. I had hoped that I wouldnt have to totally fork the > 2.6 IDE code in order to get back to where 2.4-ac was and get the > locking working so you can't oops it via /proc Somehow you seem to forget that I took maintaince over 2.5.5x (or 2.5.6x) and there was a lot new stuff added when you were away (i.e. driver-model and IDE code needs to conform with it to get sane power management and sysfs support) and that a lot of other things have changed (influencing IDE). Feel free to fork so you'll be wasting yours time only and not mine.



Read the full thread.

queue War:

April 29, 2005 - 10:02am
Anonymous (not verified)

"You fight like a cow!" Th

April 29, 2005 - 10:57am
Anonymous (not verified)

"You fight like a cow!"

That would have been my next insult, had I been involved.

"All your IDE layers are belo

April 29, 2005 - 11:35am
Anonymous (not verified)

"All your IDE layers are belong to Alan" would have been mine.

"You fight like a cow!"

April 29, 2005 - 12:32pm
Anonymous (not verified)

Copy on write?
I no understanding you. Prease eraborating.

How appropriate

April 29, 2005 - 3:44pm
Anonymous (not verified)

How appropriate. Bartlomiej Zolnierkiewicz maintains the IDE layer like a dairy farmer.

Re: How appropriate

April 29, 2005 - 5:09pm

How do dairy farmers maintain things?

Dairy Farmer

April 29, 2005 - 6:03pm
Anonymous (not verified)

It doesn't really matter how a Dairy Farmer manages his layer. All that's known is he is likely good at handling cows!

Horray Alan!

April 29, 2005 - 11:36am

Thank God he's back. ;)

As for this Beetlejuice bloke...

"IDE is similar to SCSI now in this respect.
Are you claiming that SCSI needs fixing too?"

Well... Err... Duh! Yes! I thought everyone knew the SCSI layer was _not_ something you should be holding up as model code?

Let's have Alan as the IDE maintainer again as quickly as possible please (asuming he wants it).

I'm inclined to agree.

April 29, 2005 - 10:01pm

Most of the technical details in the discussion are above me but I personally feel there have been IDE regressions. In particular with stroking drives. There used to be an option in menuconfig IIRC. This was then removed in favour of a kernel option. I believe at some point this was removed altogether and a form of auto-detection added. Now I have the problem that somewhere between 2.6.11.0 and 2.6.11.2 (I think) this auto-detection was broken and now fails to properly detect the correct drive size for me. I've tried looking at the code which suggests some changes merged to cope with longer block addressing are responsible. Alan's comment "You can no longer get an objects bios geometry" is interesting as the auto-detection seems to work by comparing the BIOS supplied disk size and the drive reported disk size. All suggestions / corrections welcome. :)

I may have it all wrong but unless someone can prove otherwise, Alan certainly has my support for resuming maintenance of the IDE code.

CONFIG_STROKE

May 2, 2005 - 7:54am
Andreas Mohr (not verified)

Ah, that is why I was having issues when accessing my 40GB HDD in an old P3/450 notebook.
For me it also seems to have worked automatically until very recently, 2.6.11ish, when I found that it complained about geometry issues (which I'm quite sure it didn't do before).
This machine is running 2.6.11-cko3 (or -cko4?) now.

That stuff should probably be fixed real soon, since it probably causes data loss easily.

CONFIG_IDE_STROKE

May 2, 2005 - 7:57am
Andreas Mohr (not verified)

Ah, that is why I was having issues when accessing my 40GB HDD in an old P3/450 notebook.
For me it also seems to have worked automatically until very recently, 2.6.11ish, when I found that it complained about geometry issues (which I'm quite sure it didn't do before).
This machine is running 2.6.11-cko3 (or -cko4?) now.

That stuff should probably be fixed real soon, since it probably causes data loss easily.

sounds like Alan is jumping in

April 29, 2005 - 1:05pm
Josh Walker (not verified)

I have all the respect in the world for Alan, but coming back after a year away and just demanding things seems inappropriate. He should work with the current maintainers to get the current patches into Linus' tree. Instead he rushes in and says "mainline is broken. wtf is wrong with you guys". How about investigating what problems there are and why they haven't been resolved, rather than yelling at the maintainer?

I dunno . . .

April 30, 2005 - 12:10am
Anonymous (not verified)

Alan's biggest gift I think is speaking his mind AND backing it up. Much like Linus, if Alan thinks it's broken, then Alan says so. Then, traditionally, he gives them about a day to fix it, or at least set down that road, and if they can't he does it himself.

He's got a lot of cred built up. That means you can say stuff like that, because work get's done when someone like Alan says it needs doing. And this is the part of the kernel he knows best, and he passed on maintainership. If it was just because he was ego involved in the project, he could just swing in and say "Man, that code is really in good shape thanks to the maintainer I helped bless, and the state it was in when I left" and be in as good or better position. He didn't and that's because it was his honest opinion.

Might that Alan has all the c

May 1, 2005 - 7:10am
Anonymous (not verified)

Might that Alan has all the crowd behind him, reading the mails, it seems like he's giving NO fact, just that its wrong to him.
It sounds like previous 2.4 ide code was hackish and worked well.
It sounds like the new maintainer wanted to do it clean instead, and that's a good point

no, alan rewrote the ide code

May 1, 2005 - 4:57pm
Anonymous (not verified)

no, alan rewrote the ide code, because it was bad.
It really got better. Then he went away for a while.
I understand that he is pissed, because he made a clean
base concept, and now it is inconsistent.
But _HE WROTE IT_ and perhaps he knows better.....
I think let alan fix the stuff.
Perhaps the others can learn from him.

Clean is good, but working is necessary.

May 3, 2005 - 12:39pm
Anonymous (not verified)

Every so often I get this nonsense, usually from immature anal people,
usually who do not REALLY understand the semantics of the programming language or still suffer
from academically installed 'hang-ups' eg
NO goto(s), and they take correct meaningful code and re-write it,
badly and full of bugs; the real problem is they aren't lazy enough,
have too little to do, or don't understand the engineering principle:
"If it ain't broke, DONT fix it"

In the commercial world you fire these people, in the Open Source world
scorn has to do.

Reality TV

April 29, 2005 - 4:31pm
Anonymous (not verified)

Great, now I can get a Reality TV substitute on the Linux kernel mailing list.

Why not go the libata route?

April 29, 2005 - 10:21pm
Anonymous (not verified)

Why not migrate the IDE layer something more like libata which is more or less layer of code that makes SATA devices look and work like SCSI devices?

Linus said IDE can make you crazy

May 1, 2005 - 2:58am

I remember reading some emails from Linus in something like lkml where he was saying that working with IDE just about drives anyone crazy. So this IDE issue just might bring about some emotion.

I can see it from both sides. Mr Cox's view might be that things came apart a little during his sabbatical. Well, if I took a year off from my work, I would fully expect things to deteriorate somewhat, even if they had someone replacing me who was very good in my field, because I have direct experience with our particular units, and they will be in the learning curve.

The other view is that Mr. Zolnierkiewicz came in and had to work very hard, many extra hours, to do what he has done, and then the guy coming back from vacation says it is all messed up. Well, perhaps not too many people will take over for a kernel hacker going on a one year sabbatical.

Now I don't know if Mr. Cox was available at all to consult with during the sabbatical, and I don't know if Mr. Zolnierkiewicz was trying to contact him for that help, or what happened. I just see what it looks like from the outside. It is dangerous to take over for a major kernel contributor.

Could this be helped by the person who is going on sabbatical mentoring his replacement sufficiently? Or could they find out in that time (before the sabbatical) that the replacement was not going to follow their wishes or be able to? Linux kernel development is critical enough that this should be considered. It is more efficient to have a few people control the major happenings in the kernel, but it might be unrealistic to expect a newcomer, no matter how technically excellent, to be able to know all the gotchas that the old master knows how to avoid, and the personalities of the people he will be working with, who to believe and who to take with a grain of salt.

So what can we do to make this better in the future? I mean, what if Linus for some reason has to or chooses to be gone for a year?

Reminds me of a couple of old Adages...

May 2, 2005 - 8:44am
iMac (not verified)

-Criticize the indiviual, praise in public.
-Wait 24 hours to avoid an emotional reaction.

I'm sure this will all work out, and I don't doubt Alan's ability to be critical of just about any piece of code out there, if he wants to be. I just hope I never end up on the end of this short stick.

Having said this, I'm glad there is a community out there, and we can all be reassured that we now have at least TWO sets of eyes on linux IDE.

It looks like the net benefit should be positive for everyone, as long as we don't loose any contributors over this. Props to
Bartlomiej for being strong, regardless of what negative changes may have been introduced.

Confused

May 2, 2005 - 8:29am
Mace Moneta (not verified)

I guess I'm confused. If Alan sees problems with the code, why doesn't he just submit patches to Bartlomiej to correct them? On the flip side, these little tirades are certainly entertaining. :)

FWIW, I've also observed problems in IDE recently (anyone else getting "drive appears confused" errors in their log?).

Buisness 101 - learn to be diplomatic

May 2, 2005 - 9:07am
Anonymous (not verified)

Dear Alan.
Sorry to hear you wasted your time getting a MBA, when you don't know how to communicate. If you want to learn how to make it in the busines world better loose your anti-social skills. Learn to be diplomatic, you'll find it gets you farther then tossing out insultes.

Agree, but

May 2, 2005 - 10:46am
Anonymous (not verified)

"in the busines world" I would replace with "in the human world".
Back to work guys, less words and more good code.
Returning from sabbatical to "normal" will take time, upp to 100% of the sabbatical. Nothing unnormal there.

The busines (sic) world and insultes (sic)

May 3, 2005 - 12:46pm
Anonymous (not verified)

I hope you communicate, and code, better than you spell!

We're very glad we have Bartl

May 20, 2005 - 4:40am
ToWcaleNieJaSparki (not verified)

We're very glad we have Bartlomiej as our maintainer.
Alan jumped out of the leaves stack and want to be the boss again.
It aint so easy Alan, and attacking Bartlomiej isnt enough to get respect.

IDE layer is gone

May 22, 2005 - 11:09am
Alban Browaeys (not verified)

As far as i can follow the ide tree the IDE layer is no more. We finally have a "generic transport layer" shared by ide and scsi "layers".

My point is Alan is right that there was some sort of of Gnome cleanup happening but it was from from done silently. And from my point of view it was more like nautilus cleanup than gnome 1.4 to gnome2. Restart on a new concept with the aim to ease further maintainence and debugging.

Alan can obviously helps it reach old layer functionality twice as fast regarding is know how of ide interenals. I just hope the work will happens on this new sanatized transport layer (if it is not flawed ...).

Cheers to all ide, scsi hackers ... i have stopped hacling on ide-cd to fix my crash with spurious interrupts as i found the layer cleanup was going where it should have been long ago. Though breaking things a lot. Linux weekly news have some interesting articles on the new model : block dev etc. Though if Alan can prove that it cannot scale to old IDE layer capabilities ... that is really great to have so much interest in this critical component (not that i dislike vm and latency works though it has gotten undue workforce ).

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
speck-geostationary