Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Convert obvious places to deactivate_locked_super()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro 6f5bbff9 74dbbdd7

+21 -42
+1 -2
drivers/mtd/mtdsuper.c
··· 74 74 75 75 ret = fill_super(sb, data, flags & MS_SILENT ? 1 : 0); 76 76 if (ret < 0) { 77 - up_write(&sb->s_umount); 78 - deactivate_super(sb); 77 + deactivate_locked_super(sb); 79 78 return ret; 80 79 } 81 80
+1 -4
fs/9p/vfs_super.c
··· 174 174 return 0; 175 175 176 176 release_sb: 177 - if (sb) { 178 - up_write(&sb->s_umount); 179 - deactivate_super(sb); 180 - } 177 + deactivate_locked_super(sb); 181 178 182 179 free_stat: 183 180 kfree(st);
+1 -2
fs/afs/super.c
··· 405 405 sb->s_flags = flags; 406 406 ret = afs_fill_super(sb, &params); 407 407 if (ret < 0) { 408 - up_write(&sb->s_umount); 409 - deactivate_super(sb); 408 + deactivate_locked_super(sb); 410 409 goto error; 411 410 } 412 411 sb->s_options = new_opts;
+4 -8
fs/btrfs/super.c
··· 502 502 503 503 if (s->s_root) { 504 504 if ((flags ^ s->s_flags) & MS_RDONLY) { 505 - up_write(&s->s_umount); 506 - deactivate_super(s); 505 + deactivate_locked_super(s); 507 506 error = -EBUSY; 508 507 goto error_close_devices; 509 508 } ··· 516 517 error = btrfs_fill_super(s, fs_devices, data, 517 518 flags & MS_SILENT ? 1 : 0); 518 519 if (error) { 519 - up_write(&s->s_umount); 520 - deactivate_super(s); 520 + deactivate_locked_super(s); 521 521 goto error_free_subvol_name; 522 522 } 523 523 ··· 533 535 mutex_unlock(&s->s_root->d_inode->i_mutex); 534 536 535 537 if (IS_ERR(root)) { 536 - up_write(&s->s_umount); 537 - deactivate_super(s); 538 + deactivate_locked_super(s); 538 539 error = PTR_ERR(root); 539 540 goto error_free_subvol_name; 540 541 } 541 542 if (!root->d_inode) { 542 543 dput(root); 543 - up_write(&s->s_umount); 544 - deactivate_super(s); 544 + deactivate_locked_super(s); 545 545 error = -ENXIO; 546 546 goto error_free_subvol_name; 547 547 }
+1 -2
fs/cifs/cifsfs.c
··· 602 602 603 603 rc = cifs_read_super(sb, data, dev_name, flags & MS_SILENT ? 1 : 0); 604 604 if (rc) { 605 - up_write(&sb->s_umount); 606 - deactivate_super(sb); 605 + deactivate_locked_super(sb); 607 606 return rc; 608 607 } 609 608 sb->s_flags |= MS_ACTIVE;
+2 -3
fs/devpts/inode.c
··· 389 389 return 0; 390 390 391 391 out_dput: 392 - dput(s->s_root); 392 + dput(s->s_root); /* undo dget() in simple_set_mnt() */ 393 393 394 394 out_undo_sget: 395 - up_write(&s->s_umount); 396 - deactivate_super(s); 395 + deactivate_locked_super(s); 397 396 return error; 398 397 } 399 398
+2 -3
fs/ecryptfs/main.c
··· 614 614 } 615 615 goto out; 616 616 out_abort: 617 - dput(sb->s_root); 618 - up_write(&sb->s_umount); 619 - deactivate_super(sb); 617 + dput(sb->s_root); /* aka mnt->mnt_root, as set by get_sb_nodev() */ 618 + deactivate_locked_super(sb); 620 619 out: 621 620 return rc; 622 621 }
+1 -2
fs/libfs.c
··· 246 246 return 0; 247 247 248 248 Enomem: 249 - up_write(&s->s_umount); 250 - deactivate_super(s); 249 + deactivate_locked_super(s); 251 250 return -ENOMEM; 252 251 } 253 252
+5 -10
fs/nfs/super.c
··· 2111 2111 error_splat_root: 2112 2112 dput(mntroot); 2113 2113 error_splat_super: 2114 - up_write(&s->s_umount); 2115 - deactivate_super(s); 2114 + deactivate_locked_super(s); 2116 2115 goto out; 2117 2116 } 2118 2117 ··· 2207 2208 return error; 2208 2209 2209 2210 error_splat_super: 2210 - up_write(&s->s_umount); 2211 - deactivate_super(s); 2211 + deactivate_locked_super(s); 2212 2212 dprintk("<-- nfs_xdev_get_sb() = %d [splat]\n", error); 2213 2213 return error; 2214 2214 } ··· 2467 2469 error_splat_root: 2468 2470 dput(mntroot); 2469 2471 error_splat_super: 2470 - up_write(&s->s_umount); 2471 - deactivate_super(s); 2472 + deactivate_locked_super(s); 2472 2473 goto out; 2473 2474 } 2474 2475 ··· 2561 2564 return error; 2562 2565 2563 2566 error_splat_super: 2564 - up_write(&s->s_umount); 2565 - deactivate_super(s); 2567 + deactivate_locked_super(s); 2566 2568 dprintk("<-- nfs4_xdev_get_sb() = %d [splat]\n", error); 2567 2569 return error; 2568 2570 } ··· 2645 2649 return error; 2646 2650 2647 2651 error_splat_super: 2648 - up_write(&s->s_umount); 2649 - deactivate_super(s); 2652 + deactivate_locked_super(s); 2650 2653 dprintk("<-- nfs4_referral_get_sb() = %d [splat]\n", error); 2651 2654 return error; 2652 2655 }
+1 -2
fs/proc/root.c
··· 67 67 sb->s_flags = flags; 68 68 err = proc_fill_super(sb); 69 69 if (err) { 70 - up_write(&sb->s_umount); 71 - deactivate_super(sb); 70 + deactivate_locked_super(sb); 72 71 return err; 73 72 } 74 73
+1 -2
fs/ubifs/super.c
··· 2055 2055 return 0; 2056 2056 2057 2057 out_deact: 2058 - up_write(&sb->s_umount); 2059 - deactivate_super(sb); 2058 + deactivate_locked_super(sb); 2060 2059 out_close: 2061 2060 ubi_close_volume(ubi); 2062 2061 return err;
+1 -2
kernel/cgroup.c
··· 1133 1133 free_cg_links: 1134 1134 free_cg_links(&tmp_cg_links); 1135 1135 drop_new_super: 1136 - up_write(&sb->s_umount); 1137 - deactivate_super(sb); 1136 + deactivate_locked_super(sb); 1138 1137 return ret; 1139 1138 } 1140 1139