Loading fs/super.c +3 −16 Original line number Diff line number Diff line Loading @@ -487,22 +487,9 @@ struct super_block *get_active_super(struct block_device *bdev) if (sb->s_bdev != bdev) continue; sb->s_count++; spin_unlock(&sb_lock); down_write(&sb->s_umount); if (sb->s_root) { spin_lock(&sb_lock); if (sb->s_count > S_BIAS) { atomic_inc(&sb->s_active); sb->s_count--; spin_unlock(&sb_lock); if (grab_super(sb)) /* drops sb_lock */ return sb; } spin_unlock(&sb_lock); } up_write(&sb->s_umount); put_super(sb); yield(); spin_lock(&sb_lock); } spin_unlock(&sb_lock); Loading Loading
fs/super.c +3 −16 Original line number Diff line number Diff line Loading @@ -487,22 +487,9 @@ struct super_block *get_active_super(struct block_device *bdev) if (sb->s_bdev != bdev) continue; sb->s_count++; spin_unlock(&sb_lock); down_write(&sb->s_umount); if (sb->s_root) { spin_lock(&sb_lock); if (sb->s_count > S_BIAS) { atomic_inc(&sb->s_active); sb->s_count--; spin_unlock(&sb_lock); if (grab_super(sb)) /* drops sb_lock */ return sb; } spin_unlock(&sb_lock); } up_write(&sb->s_umount); put_super(sb); yield(); spin_lock(&sb_lock); } spin_unlock(&sb_lock); Loading