diff options
author | Nigel Cunningham <nigel@tuxonice.net> | 2012-02-03 03:59:41 -0500 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2012-03-13 17:36:44 -0400 |
commit | 35c80422afc8394d1ecbab3c0b17fcd539e4e5c2 (patch) | |
tree | ff01c1ed95ea4ca6656f43e87f29a1a54a633106 /fs/jbd2 | |
parent | 37f08be11be9a7d9351fb1b9b408259519a126f3 (diff) |
PM / Sleep: JBD and JBD2 missing set_freezable()
With the latest and greatest changes to the freezer, I started seeing
panics that were caused by jbd2 running post-process freezing and
hitting the canary BUG_ON for non-TuxOnIce I/O submission. I've traced
this back to a lack of set_freezable calls in both jbd and jbd2. Since
they're clearly meant to be frozen (there are tests for freezing()), I
submit the following patch to add the missing calls.
Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
Acked-by: Jan Kara <jack@suse.cz>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'fs/jbd2')
-rw-r--r-- | fs/jbd2/journal.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c index c0a5f9f1b127..663e47cbaa78 100644 --- a/fs/jbd2/journal.c +++ b/fs/jbd2/journal.c | |||
@@ -139,6 +139,8 @@ static int kjournald2(void *arg) | |||
139 | setup_timer(&journal->j_commit_timer, commit_timeout, | 139 | setup_timer(&journal->j_commit_timer, commit_timeout, |
140 | (unsigned long)current); | 140 | (unsigned long)current); |
141 | 141 | ||
142 | set_freezable(); | ||
143 | |||
142 | /* Record that the journal thread is running */ | 144 | /* Record that the journal thread is running */ |
143 | journal->j_task = current; | 145 | journal->j_task = current; |
144 | wake_up(&journal->j_wait_done_commit); | 146 | wake_up(&journal->j_wait_done_commit); |