sched: make task_struct->plug always defined
authorJens Axboe <axboe@kernel.dk>
Sat, 23 Oct 2021 01:35:45 +0000 (19:35 -0600)
committerJens Axboe <axboe@kernel.dk>
Sat, 23 Oct 2021 01:35:45 +0000 (19:35 -0600)
If CONFIG_BLOCK isn't set, then it's an empty struct anyway. Just make
it generally available, so we don't break the compile:

kernel/sched/core.c: In function ‘sched_submit_work’:
kernel/sched/core.c:6346:35: error: ‘struct task_struct’ has no member named ‘plug’
 6346 |                 blk_flush_plug(tsk->plug, true);
      |                                   ^~
kernel/sched/core.c: In function ‘io_schedule_prepare’:
kernel/sched/core.c:8357:20: error: ‘struct task_struct’ has no member named ‘plug’
 8357 |         if (current->plug)
      |                    ^~
kernel/sched/core.c:8358:39: error: ‘struct task_struct’ has no member named ‘plug’
 8358 |                 blk_flush_plug(current->plug, true);
      |                                       ^~

Reported-by: Nathan Chancellor <nathan@kernel.org>
Fixes: 008f75a20e70 ("block: cleanup the flush plug helpers")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/linux/sched.h

index c1a927d..e0454e6 100644 (file)
@@ -1160,10 +1160,8 @@ struct task_struct {
        /* Stacked block device info: */
        struct bio_list                 *bio_list;
 
-#ifdef CONFIG_BLOCK
        /* Stack plugging: */
        struct blk_plug                 *plug;
-#endif
 
        /* VM state: */
        struct reclaim_state            *reclaim_state;