dm writecache: Make use of the helper macro kthread_run()
authorCai Huoqing <caihuoqing@baidu.com>
Thu, 21 Oct 2021 08:39:09 +0000 (16:39 +0800)
committerMike Snitzer <snitzer@redhat.com>
Mon, 1 Nov 2021 17:28:50 +0000 (13:28 -0400)
Replace kthread_create/wake_up_process() with kthread_run()
to simplify the code.

Signed-off-by: Cai Huoqing <caihuoqing@baidu.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-writecache.c

index 1832044..4eacb2b 100644 (file)
@@ -2264,14 +2264,13 @@ static int writecache_ctr(struct dm_target *ti, unsigned argc, char **argv)
 
        raw_spin_lock_init(&wc->endio_list_lock);
        INIT_LIST_HEAD(&wc->endio_list);
-       wc->endio_thread = kthread_create(writecache_endio_thread, wc, "writecache_endio");
+       wc->endio_thread = kthread_run(writecache_endio_thread, wc, "writecache_endio");
        if (IS_ERR(wc->endio_thread)) {
                r = PTR_ERR(wc->endio_thread);
                wc->endio_thread = NULL;
                ti->error = "Couldn't spawn endio thread";
                goto bad;
        }
-       wake_up_process(wc->endio_thread);
 
        /*
         * Parse the mode (pmem or ssd)
@@ -2493,14 +2492,13 @@ invalid_optional:
                wc->memory_map_size -= (uint64_t)wc->start_sector << SECTOR_SHIFT;
 
                bio_list_init(&wc->flush_list);
-               wc->flush_thread = kthread_create(writecache_flush_thread, wc, "dm_writecache_flush");
+               wc->flush_thread = kthread_run(writecache_flush_thread, wc, "dm_writecache_flush");
                if (IS_ERR(wc->flush_thread)) {
                        r = PTR_ERR(wc->flush_thread);
                        wc->flush_thread = NULL;
                        ti->error = "Couldn't spawn flush thread";
                        goto bad;
                }
-               wake_up_process(wc->flush_thread);
 
                r = calculate_memory_size(wc->memory_map_size, wc->block_size,
                                          &n_blocks, &n_metadata_blocks);