aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/ext4/super.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 8d1d9423ce9..4d7ef31eacb 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -2699,7 +2699,6 @@ static int ext4_lazyinit_thread(void *arg)
2699 struct ext4_li_request *elr; 2699 struct ext4_li_request *elr;
2700 unsigned long next_wakeup; 2700 unsigned long next_wakeup;
2701 DEFINE_WAIT(wait); 2701 DEFINE_WAIT(wait);
2702 int ret;
2703 2702
2704 BUG_ON(NULL == eli); 2703 BUG_ON(NULL == eli);
2705 2704
@@ -2723,13 +2722,12 @@ cont_thread:
2723 elr = list_entry(pos, struct ext4_li_request, 2722 elr = list_entry(pos, struct ext4_li_request,
2724 lr_request); 2723 lr_request);
2725 2724
2726 if (time_after_eq(jiffies, elr->lr_next_sched)) 2725 if (time_after_eq(jiffies, elr->lr_next_sched)) {
2727 ret = ext4_run_li_request(elr); 2726 if (ext4_run_li_request(elr) != 0) {
2728 2727 /* error, remove the lazy_init job */
2729 if (ret) { 2728 ext4_remove_li_request(elr);
2730 ret = 0; 2729 continue;
2731 ext4_remove_li_request(elr); 2730 }
2732 continue;
2733 } 2731 }
2734 2732
2735 if (time_before(elr->lr_next_sched, next_wakeup)) 2733 if (time_before(elr->lr_next_sched, next_wakeup))