[PATCH] slow-work: Fix build bug in the !CONFIG_MODULES case

From: Ingo Molnar
Date: Tue Dec 01 2009 - 01:56:33 EST



* David Howells <dhowells@xxxxxxxxxx> wrote:

> Hi Linus,
>
> Could you pull the attached patches before 2.6.32 please? I've added three
> one-liner patches to fix some silly bugs.
>
> For the most part these patches are bug fixes for the slow-work, FS-Cache and
> CacheFiles facilities, with a few patches to produce better debugging
> information, and a couple of patches to slow work from Jens that all the rest
> are built on top of.

these slow-work changes have introduced a new !CONFIG_MODULES build bug
on x86 (and all other architectures i suspect):

kernel/slow-work.c: In function ‘slow_work_execute’:
kernel/slow-work.c:313: error: ‘slow_work_thread_processing’ undeclared (first use in this function)
kernel/slow-work.c:313: error: (Each undeclared identifier is reported only once
kernel/slow-work.c:313: error: for each function it appears in.)
kernel/slow-work.c: In function ‘slow_work_wait_for_items’:
kernel/slow-work.c:950: error: ‘slow_work_unreg_sync_lock’ undeclared (first use in this function)
kernel/slow-work.c:951: error: ‘slow_work_unreg_wq’ undeclared (first use in this function)
kernel/slow-work.c:961: error: ‘slow_work_unreg_work_item’ undeclared (first use in this function)
kernel/slow-work.c:974: error: ‘slow_work_unreg_module’ undeclared (first use in this function)
kernel/slow-work.c:977: error: ‘slow_work_thread_processing’ undeclared (first use in this function)

Commit 3bde31a ("SLOW_WORK: Allow a requeueable work item to sleep till
the thread is needed") broke the !CONFIG_MODULES build by relying on
variables that are only available (and only make sense) with module
support enabled. Fix it.

Note, to fix it in a minimal way for .32 i've simply extended the
existing #ifdef's. In v2.6.33 a cleaner change would be to move the
whole wait-for-modules block into a separate slow-work-wait-modules.c
file or so - that will allow the removal of 6 #ifdefs.

Thanks,

Ingo

--------------------------->