On 2022/10/25 15:08, Yangtao Li wrote:
Hi Chao,

In my point of view, it should not return 0. Because calling kthread_run()
to create a kernel thread may fails, and err is assigned a value.

I commented on last 'return err' rather than the one in error path...

Maybe:

---
 fs/f2fs/segment.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 81aadfc06c89..25ee8c8cb2cf 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -634,12 +634,12 @@ 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 = 0;
+       int err;

        if (SM_I(sbi)->fcc_info) {
                fcc = SM_I(sbi)->fcc_info;
                if (fcc->f2fs_issue_flush)
-                       return err;
+                       return 0;
                goto init_thread;
        }

@@ -652,7 +652,7 @@ int f2fs_create_flush_cmd_control(struct f2fs_sb_info *sbi)
        init_llist_head(&fcc->issue_list);
        SM_I(sbi)->fcc_info = fcc;
        if (!test_opt(sbi, FLUSH_MERGE))
-               return err;
+               return 0;

 init_thread:
        fcc->f2fs_issue_flush = kthread_run(issue_flush_thread, sbi,
@@ -664,7 +664,7 @@ int f2fs_create_flush_cmd_control(struct f2fs_sb_info *sbi)
                return err;
        }

-       return err;
+       return 0;
 }

 void f2fs_destroy_flush_cmd_control(struct f2fs_sb_info *sbi, bool free)
--
2.25.1




Thanks,


_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to