|
@@ -210,10 +210,16 @@ end_loop:
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-static void jbd2_journal_start_thread(journal_t *journal)
|
|
|
|
|
|
+static int jbd2_journal_start_thread(journal_t *journal)
|
|
{
|
|
{
|
|
- kthread_run(kjournald2, journal, "kjournald2");
|
|
|
|
|
|
+ struct task_struct *t;
|
|
|
|
+
|
|
|
|
+ t = kthread_run(kjournald2, journal, "kjournald2");
|
|
|
|
+ if (IS_ERR(t))
|
|
|
|
+ return PTR_ERR(t);
|
|
|
|
+
|
|
wait_event(journal->j_wait_done_commit, journal->j_task != 0);
|
|
wait_event(journal->j_wait_done_commit, journal->j_task != 0);
|
|
|
|
+ return 0;
|
|
}
|
|
}
|
|
|
|
|
|
static void journal_kill_thread(journal_t *journal)
|
|
static void journal_kill_thread(journal_t *journal)
|
|
@@ -839,8 +845,7 @@ static int journal_reset(journal_t *journal)
|
|
|
|
|
|
/* Add the dynamic fields and write it to disk. */
|
|
/* Add the dynamic fields and write it to disk. */
|
|
jbd2_journal_update_superblock(journal, 1);
|
|
jbd2_journal_update_superblock(journal, 1);
|
|
- jbd2_journal_start_thread(journal);
|
|
|
|
- return 0;
|
|
|
|
|
|
+ return jbd2_journal_start_thread(journal);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|