diff options
author | Jiri Slaby <jslaby@suse.cz> | 2014-12-12 16:29:29 +0100 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2014-12-12 22:18:07 +0100 |
commit | fa0c5540739320258c3e3a45aaae9dae467b2504 (patch) | |
tree | 7fe60c0e78539c2f8c8e93eb45ce10b408f86a71 /fs/reiserfs | |
parent | fdf2657bc81b10dee856ec9f8fe5b201c0561e9d (diff) | |
download | talos-op-linux-fa0c5540739320258c3e3a45aaae9dae467b2504.tar.gz talos-op-linux-fa0c5540739320258c3e3a45aaae9dae467b2504.zip |
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/reiserfs')
-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: reiserfs_write_unlock(s); } + if (sbi->commit_wq) + destroy_workqueue(sbi->commit_wq); + cancel_delayed_work_sync(&REISERFS_SB(s)->old_work); reiserfs_free_bitmap_cache(s); |