Re: [PATCH] 2.5.43 CSA, Job, and PAGG

Keith Owens
2002-10-18T14:32:03Z

On Thu, 17 Oct 2002 22:44:10 -0400,
Christoph Hellwig <hch@sgi.com> wrote:
>On Thu, Oct 17, 2002 at 10:21:47AM -0500, John Hesterberg wrote:
>> 2.5.43 versions of CSA, Job, and PAGG patches are available at:
>> ftp://oss.sgi.com/projects/pagg/download/linux-2.5.43-pagg-job.patch
>> ftp://oss.sgi.com/projects/csa/download/linux-2.5.43-csa.patch
>
>+#if defined (CONFIG_CSA_JOB_ACCT) || defined (CONFIG_CSA_JOB_ACCT_MODULE)
>
>Umm, stubbing stuff out based on _MODULE is a bad, bad idea. Just make it
>a bool instead.

The construct #if defined(CONFIG_FOO) || defined(CONFIG_FOO_MODULE) is
required for all CONFIG_FOO which can be defined as tristate.

.config Source code
CONFIG_FOO CONFIG_FOO CONFIG_FOO_MODULE
n undef undef
y 1 undef
m undef 1

If CSA_JOB_ACCT can be a module or builtin then the code is correct.
OTOH, if CSA_JOB_ACCT is a boolean subset of CSA then it should be a
bool, not a tristate. Given

if [ "$CONFIG_PAGG" = "y" ]; then
tristate ' Process aggregate based jobs' CONFIG_PAGG_JOB
dep_tristate ' CSA Job Accounting' CONFIG_CSA_JOB_ACCT $CONFIG_PAGG_JOB
fi

and assuming that CONFIG_PAGG_JOB=y, CONFIG_CSA_JOB_ACCT=m is a valid
combination, then the code is correct.