f2fs: fix return val in f2fs_start_ckpt_thread()
authorYangtao Li <frank.li@vivo.com>
Thu, 27 Oct 2022 10:24:46 +0000 (18:24 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Wed, 2 Nov 2022 00:56:04 +0000 (17:56 -0700)
Return PTR_ERR(cprc->f2fs_issue_ckpt) instead of -ENOMEM;

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/checkpoint.c
fs/f2fs/gc.c
fs/f2fs/segment.c

index c00694a502227c61bac7b1e5fb60fb2c8851018d..56f7d0d6a8b2f0b1c588db97fe09e1bb53a9d89b 100644 (file)
@@ -1902,8 +1902,10 @@ int f2fs_start_ckpt_thread(struct f2fs_sb_info *sbi)
        cprc->f2fs_issue_ckpt = kthread_run(issue_checkpoint_thread, sbi,
                        "f2fs_ckpt-%u:%u", MAJOR(dev), MINOR(dev));
        if (IS_ERR(cprc->f2fs_issue_ckpt)) {
+               int err = PTR_ERR(cprc->f2fs_issue_ckpt);
+
                cprc->f2fs_issue_ckpt = NULL;
-               return -ENOMEM;
+               return err;
        }
 
        set_task_ioprio(cprc->f2fs_issue_ckpt, cprc->ckpt_thread_ioprio);
index d2e9c280773f05ce0d24fabd7fdec5751d0df3d2..15f56859966ccb9d252571c33f146e517f45f291 100644 (file)
@@ -171,13 +171,10 @@ int f2fs_start_gc_thread(struct f2fs_sb_info *sbi)
 {
        struct f2fs_gc_kthread *gc_th;
        dev_t dev = sbi->sb->s_bdev->bd_dev;
-       int err = 0;
 
        gc_th = f2fs_kmalloc(sbi, sizeof(struct f2fs_gc_kthread), GFP_KERNEL);
-       if (!gc_th) {
-               err = -ENOMEM;
-               goto out;
-       }
+       if (!gc_th)
+               return -ENOMEM;
 
        gc_th->urgent_sleep_time = DEF_GC_THREAD_URGENT_SLEEP_TIME;
        gc_th->min_sleep_time = DEF_GC_THREAD_MIN_SLEEP_TIME;
@@ -192,12 +189,14 @@ int f2fs_start_gc_thread(struct f2fs_sb_info *sbi)
        sbi->gc_thread->f2fs_gc_task = kthread_run(gc_thread_func, sbi,
                        "f2fs_gc-%u:%u", MAJOR(dev), MINOR(dev));
        if (IS_ERR(gc_th->f2fs_gc_task)) {
-               err = PTR_ERR(gc_th->f2fs_gc_task);
+               int err = PTR_ERR(gc_th->f2fs_gc_task);
+
                kfree(gc_th);
                sbi->gc_thread = NULL;
+               return err;
        }
-out:
-       return err;
+
+       return 0;
 }
 
 void f2fs_stop_gc_thread(struct f2fs_sb_info *sbi)
index c470b443615f15f2d011b12453f032032790dd5b..c4270cd6eaab7a4ef33a68c128fbdb6a9b387d6d 100644 (file)
@@ -620,7 +620,6 @@ int f2fs_create_flush_cmd_control(struct f2fs_sb_info *sbi)
 {
        dev_t dev = sbi->sb->s_bdev->bd_dev;
        struct flush_cmd_control *fcc;
-       int err;
 
        if (SM_I(sbi)->fcc_info) {
                fcc = SM_I(sbi)->fcc_info;
@@ -644,7 +643,8 @@ init_thread:
        fcc->f2fs_issue_flush = kthread_run(issue_flush_thread, sbi,
                                "f2fs_flush-%u:%u", MAJOR(dev), MINOR(dev));
        if (IS_ERR(fcc->f2fs_issue_flush)) {
-               err = PTR_ERR(fcc->f2fs_issue_flush);
+               int err = PTR_ERR(fcc->f2fs_issue_flush);
+
                kfree(fcc);
                SM_I(sbi)->fcc_info = NULL;
                return err;