Commit e1f3b1fc authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] Don't run unlock_super() in ext3_fill_super()

A very long time ago ext3_fill_super() was beng called under the VFS's
lock_super(), and it had to drop that lock for deadlock avoidance reasons.

But the VFS was later changed to not take lock_super() across ->fill_super(),
so we're upping a non-downed semaphore.

Just take it out.
parent ec07c5c1
...@@ -1343,9 +1343,7 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent) ...@@ -1343,9 +1343,7 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent)
* superblock lock. * superblock lock.
*/ */
EXT3_SB(sb)->s_mount_state |= EXT3_ORPHAN_FS; EXT3_SB(sb)->s_mount_state |= EXT3_ORPHAN_FS;
unlock_super(sb); /* akpm: sigh */
ext3_orphan_cleanup(sb, es); ext3_orphan_cleanup(sb, es);
lock_super(sb);
EXT3_SB(sb)->s_mount_state &= ~EXT3_ORPHAN_FS; EXT3_SB(sb)->s_mount_state &= ~EXT3_ORPHAN_FS;
if (needs_recovery) if (needs_recovery)
printk (KERN_INFO "EXT3-fs: recovery complete.\n"); printk (KERN_INFO "EXT3-fs: recovery complete.\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment