Remove unneeded parameter and simply change flow in
destroy_discard_cmd_control.

Signed-off-by: Chao Yu <yuch...@huawei.com>
---
 fs/f2fs/segment.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index ff53423e35fb..c1a03b0857f9 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1181,20 +1181,22 @@ static int create_discard_cmd_control(struct 
f2fs_sb_info *sbi)
        return err;
 }
 
-static void destroy_discard_cmd_control(struct f2fs_sb_info *sbi, bool free)
+static void destroy_discard_cmd_control(struct f2fs_sb_info *sbi)
 {
        struct discard_cmd_control *dcc = SM_I(sbi)->dcc_info;
 
-       if (dcc && dcc->f2fs_issue_discard) {
+       if (!dcc)
+               return;
+
+       if (dcc->f2fs_issue_discard) {
                struct task_struct *discard_thread = dcc->f2fs_issue_discard;
 
                dcc->f2fs_issue_discard = NULL;
                kthread_stop(discard_thread);
        }
-       if (free) {
-               kfree(dcc);
-               SM_I(sbi)->dcc_info = NULL;
-       }
+
+       kfree(dcc);
+       SM_I(sbi)->dcc_info = NULL;
 }
 
 static bool __mark_sit_entry_dirty(struct f2fs_sb_info *sbi, unsigned int 
segno)
@@ -3086,7 +3088,7 @@ void destroy_segment_manager(struct f2fs_sb_info *sbi)
        if (!sm_info)
                return;
        destroy_flush_cmd_control(sbi, true);
-       destroy_discard_cmd_control(sbi, true);
+       destroy_discard_cmd_control(sbi);
        destroy_dirty_segmap(sbi);
        destroy_curseg(sbi);
        destroy_free_segmap(sbi);
-- 
2.8.2.295.g3f1c1d0

Reply via email to