Gmane
From: Andrew Morton <akpm <at> osdl.org>
Subject: Re: [PATCH] fs: Restore files_lock and set_fs_root exports
Newsgroups: gmane.linux.kernel
Date: 2005-01-06 23:26:21 GMT (4 years, 25 weeks, 3 days, 18 hours and 33 minutes ago)

Guys, the technical arguments are all of course correct.  But the fact
remains that we broke things without any notice.  (Yes, perhaps someone did
say something at sometime, but the affected party didn't know, and it's our
job to make sure that they knew).  (These exports were removed in October -
the IBM guys need to work out why it took so long to detect the breakage).

I think the exports should be restored.  So does Linus ("Not that I like it
all that much, but I don't think we should break existing modules unless we
have a very specific reason to break just those modules.").

Which begs the question "how do we ever get rid of these things when we
have no projected date for Linux-2.8"?

I'd propose:

a) Create Documentation/feature-removal-schedule.txt which describes
   things which are going away, when, why, who is involved, etc.

b) Mark things deprecated where appropriate.

c) For module exports it would be nice if we could get the module loader
   to print a message "module foo.o uses deprecated symbol files_lock". 
   Dunno how hard that would be.

   Alternatively perhaps we could arrange for the symbol to be marked
   deprecated if it's used from a module:

   #ifdef MODULE
   #define deprecated_if_module __deprecated
   #else
   #define deprecated_if_module
   #endif

   Just something to really draw people's attention to the fact that
   their code will break at a well-defined date.