• Jan Kara's avatar
    ext3: fix deadlock in ext3_remount() and orphan list handling · 030703e4
    Jan Kara authored
    ext3_orphan_add() and ext3_orphan_del() functions lock sb->s_lock with a
    transaction started with ext3_mark_recovery_complete() waits for a transaction
    holding sb->s_lock, thus leading to a possible deadlock.  At the moment we
    call ext3_mark_recovery_complete() from ext3_remount() we have done all the
    work needed for remounting and thus we are safe to drop sb->s_lock before we
    wait for transactions to commit.  Note that at this moment we are still
    guarded by s_umount lock against other remounts/umounts.
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    Cc: Eric Sandeen <sandeen@sandeen.net>
    Cc: <linux-ext4@vger.kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    030703e4
super.c 76.9 KB