Loading fs/super.c +7 −7 Original line number Original line Diff line number Diff line Loading @@ -471,17 +471,17 @@ struct super_block *get_active_super(struct block_device *bdev) if (!bdev) if (!bdev) return NULL; return NULL; restart: spin_lock(&sb_lock); spin_lock(&sb_lock); list_for_each_entry(sb, &super_blocks, s_list) { list_for_each_entry(sb, &super_blocks, s_list) { if (list_empty(&sb->s_instances)) if (list_empty(&sb->s_instances)) continue; continue; if (sb->s_bdev != bdev) if (sb->s_bdev == bdev) { continue; if (grab_super(sb)) /* drops sb_lock */ if (grab_super(sb)) /* drops sb_lock */ return sb; return sb; else spin_lock(&sb_lock); goto restart; } } } spin_unlock(&sb_lock); spin_unlock(&sb_lock); return NULL; return NULL; Loading Loading
fs/super.c +7 −7 Original line number Original line Diff line number Diff line Loading @@ -471,17 +471,17 @@ struct super_block *get_active_super(struct block_device *bdev) if (!bdev) if (!bdev) return NULL; return NULL; restart: spin_lock(&sb_lock); spin_lock(&sb_lock); list_for_each_entry(sb, &super_blocks, s_list) { list_for_each_entry(sb, &super_blocks, s_list) { if (list_empty(&sb->s_instances)) if (list_empty(&sb->s_instances)) continue; continue; if (sb->s_bdev != bdev) if (sb->s_bdev == bdev) { continue; if (grab_super(sb)) /* drops sb_lock */ if (grab_super(sb)) /* drops sb_lock */ return sb; return sb; else spin_lock(&sb_lock); goto restart; } } } spin_unlock(&sb_lock); spin_unlock(&sb_lock); return NULL; return NULL; Loading