Re: [Q]: Linux and real device drivers
Richard Gooch (rgooch@ras.ucalgary.ca)
Fri, 24 Sep 1999 15:34:03 -0600
David Hinds writes:
> On Fri, Sep 24, 1999 at 09:25:35PM +0200, Jes Sorensen wrote:
> > David> o Addition of 'flush' pointer to middle of 'struct
> > David> file_operations' rather than the end, needlessly breaking
> > David> static initializers.
> >
> > This was done deliberately and you know it, it was put in the middle
> > to make sure people noticed it.
>
> Well, no, I don't remember the history of it, and the consequence of
> my noticing it was just to add a NULL pointer to the initializers for
> a bunch of drivers (with a macro so I could still build for 2.0.*).
> Maybe the intent was for people to notice and take some other action,
> but in that case, it seems to have not achieved that purpose. I'm no
> expert on this side of the kernel and couldn't even tell you what this
> entry point is supposed to be for. It appears to be set to NULL for
> every device driver in the kernel tree.
>
> The concept of deliberately implementing an API change so that it
> will break code, just so that people will notice it, with no other
> reason for the breakage, seems somewhat twisted to me.
Amen, brother. This pissed me off when it happened. I argued against
this sort of change. It took a fair bit of flaming before I realised
that the breakage was *deliberate*, rather than being a case of "it
will break things, but who cares"!
IIRC correctly, the rationale was to enforce filesystem authors to
make sure the flush() method was implemented/not implemented after
consideration. As I understood it, this new method wasn't relevant to
device drivers (someone correct me if this isn't the case).
However, there are far more device driver authors than filesystem
authors out there, so cracking the whip over a few filesystem authors
wounded a much larger group who didn't really need to know.
Regards,
Richard....
Old: rgooch@atnf.csiro.au
Current: rgooch@ras.ucalgary.ca
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/