diff options
author | Jiri Slaby <jslaby@suse.cz> | 2014-12-12 10:29:29 -0500 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2014-12-12 16:18:07 -0500 |
commit | fa0c5540739320258c3e3a45aaae9dae467b2504 (patch) | |
tree | 7fe60c0e78539c2f8c8e93eb45ce10b408f86a71 /fs | |
parent | fdf2657bc81b10dee856ec9f8fe5b201c0561e9d (diff) |
reiserfs: destroy allocated commit workqueue
When resirefs is trying to mount a partition, it creates a commit
workqueue (sbi->commit_wq). But when mount fails later, the workqueue
is not freed.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Reported-by: auxsvr@gmail.com
Reported-by: BenoƮt Monin <benoit.monin@gmx.fr>
Cc: Jan Kara <jack@suse.cz>
Cc: stable@vger.kernel.org # >= 3.16
Cc: reiserfs-devel@vger.kernel.org
Fixes: 797d9016ceca69879bb273218810fa0beef46aac
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/reiserfs/super.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c index ea63ab13ef92..71fbbe3e2dab 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c | |||
@@ -2172,6 +2172,9 @@ error_unlocked: | |||
2172 | reiserfs_write_unlock(s); | 2172 | reiserfs_write_unlock(s); |
2173 | } | 2173 | } |
2174 | 2174 | ||
2175 | if (sbi->commit_wq) | ||
2176 | destroy_workqueue(sbi->commit_wq); | ||
2177 | |||
2175 | cancel_delayed_work_sync(&REISERFS_SB(s)->old_work); | 2178 | cancel_delayed_work_sync(&REISERFS_SB(s)->old_work); |
2176 | 2179 | ||
2177 | reiserfs_free_bitmap_cache(s); | 2180 | reiserfs_free_bitmap_cache(s); |