summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/f2fs/segment.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index b4b90980dc7b..35009dbacd46 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1204,6 +1204,8 @@ static int __issue_discard_cmd(struct f2fs_sb_info *sbi,
1204 pend_list = &dcc->pend_list[i]; 1204 pend_list = &dcc->pend_list[i];
1205 1205
1206 mutex_lock(&dcc->cmd_lock); 1206 mutex_lock(&dcc->cmd_lock);
1207 if (list_empty(pend_list))
1208 goto next;
1207 f2fs_bug_on(sbi, !__check_rb_tree_consistence(sbi, &dcc->root)); 1209 f2fs_bug_on(sbi, !__check_rb_tree_consistence(sbi, &dcc->root));
1208 blk_start_plug(&plug); 1210 blk_start_plug(&plug);
1209 list_for_each_entry_safe(dc, tmp, pend_list, list) { 1211 list_for_each_entry_safe(dc, tmp, pend_list, list) {
@@ -1222,6 +1224,7 @@ skip:
1222 break; 1224 break;
1223 } 1225 }
1224 blk_finish_plug(&plug); 1226 blk_finish_plug(&plug);
1227next:
1225 mutex_unlock(&dcc->cmd_lock); 1228 mutex_unlock(&dcc->cmd_lock);
1226 1229
1227 if (iter >= dpolicy->max_requests) 1230 if (iter >= dpolicy->max_requests)