Details
-
Improvement
-
Resolution: Unresolved
-
Minor
-
None
-
None
-
None
-
9223372036854775807
Description
The proposed upstreaming of Lustre to the Linux kernel will start with just the client. To assist with this the "HAVE_SERVER_SUPPORT" macro is widely used to identify code that is only needed on the server. However there is a lot of code that could be protected by this macro, but isn't.
There are also some other aspects of Lustre that will not be going upstream, such as the ability to extract jobid strings from the process environment. It would help if there were marked for conditional compilation, so they can easily be removed before upstreaming.
Ideally most of the server-only code would go in separate source files so that when server support is later added, we only need to add some files. We probably cannot move all server code to separate files, but we should move as much as we can, as having #ifdef in C-code files is discouraged upstream.
The goal of this improvement is for all code that won't be upstream initially to with be in separate files, or to be clearly marked with a macro such s HAVE_SERVER_SUPPORT.