diff options
author | Nigel Cunningham <nigel@tuxonice.net> | 2012-02-03 19:59:41 +1100 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2012-03-13 22:36:44 +0100 |
commit | 35c80422afc8394d1ecbab3c0b17fcd539e4e5c2 (patch) | |
tree | ff01c1ed95ea4ca6656f43e87f29a1a54a633106 /fs/jbd2 | |
parent | 37f08be11be9a7d9351fb1b9b408259519a126f3 (diff) | |
download | lwn-35c80422afc8394d1ecbab3c0b17fcd539e4e5c2.tar.gz lwn-35c80422afc8394d1ecbab3c0b17fcd539e4e5c2.zip |
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) setup_timer(&journal->j_commit_timer, commit_timeout, (unsigned long)current); + set_freezable(); + /* Record that the journal thread is running */ journal->j_task = current; wake_up(&journal->j_wait_done_commit); |