block: fix linkage problem with blk_iopoll and !CONFIG_BLOCK
authorJens Axboe <jens.axboe@oracle.com>
Tue, 15 Sep 2009 19:53:11 +0000 (21:53 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Tue, 15 Sep 2009 19:53:11 +0000 (21:53 +0200)
 kernel/built-in.o:(.data+0x17b0): undefined reference to `blk_iopoll_enabled'

Since the extern declaration makes the compile work, but the actual
symbol is missing when block/blk-iopoll.o isn't linked in.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
kernel/sysctl.c

index 6bb59f707402c6ea456a9f58322e67f5b611f64d..1a631ba684a4ee73db8a13a1968265afd92a8fbf 100644 (file)
@@ -91,7 +91,9 @@ extern int sysctl_nr_trim_pages;
 #ifdef CONFIG_RCU_TORTURE_TEST
 extern int rcutorture_runnable;
 #endif /* #ifdef CONFIG_RCU_TORTURE_TEST */
+#ifdef CONFIG_BLOCK
 extern int blk_iopoll_enabled;
+#endif
 
 /* Constants used for minimum and  maximum */
 #ifdef CONFIG_DETECT_SOFTLOCKUP
@@ -998,6 +1000,7 @@ static struct ctl_table kern_table[] = {
                .proc_handler   = &proc_dointvec,
        },
 #endif
+#ifdef CONFIG_BLOCK
        {
                .ctl_name       = CTL_UNNUMBERED,
                .procname       = "blk_iopoll",
@@ -1006,6 +1009,7 @@ static struct ctl_table kern_table[] = {
                .mode           = 0644,
                .proc_handler   = &proc_dointvec,
        },
+#endif
 /*
  * NOTE: do not add new entries to this table unless you have read
  * Documentation/sysctl/ctl_unnumbered.txt