reiserfs: destroy allocated commit workqueue
authorJiri Slaby <jslaby@suse.cz>
Fri, 12 Dec 2014 15:29:29 +0000 (16:29 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Jan 2015 14:59:53 +0000 (06:59 -0800)
commit fa0c5540739320258c3e3a45aaae9dae467b2504 upstream.

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: reiserfs-devel@vger.kernel.org
Fixes: 797d9016ceca69879bb273218810fa0beef46aac
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/reiserfs/super.c

index f1376c92cf74c422aeb9331e2290e5fec88635fb..b27ef35414909d95bf7104bebdafe2fde7353fc5 100644 (file)
@@ -2161,6 +2161,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);