diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2011-06-17 09:42:43 -0400 |
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2011-06-24 18:39:42 -0400 |
| commit | d757d71bfc30669a500b72792067e8d1c5d401a5 (patch) | |
| tree | faa2fc95514ad2629d89230d1b13f1c6f865c75e /fs/cifs/cifsfs.c | |
| parent | 98ab494dd1d25388981114057cf9446250cc7dc7 (diff) | |
cifs: pull freeing mountdata/dropping nls/freeing cifs_sb into cifs_umount()
all callers of cifs_umount() proceed to do the same thing; pull it into
cifs_umount() itself.
Acked-by: Pavel Shilovsky <piastryyy@gmail.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/cifs/cifsfs.c')
| -rw-r--r-- | fs/cifs/cifsfs.c | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index 15de4561dbc5..46960b7ee433 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c | |||
| @@ -171,9 +171,6 @@ static void cifs_kill_sb(struct super_block *sb) | |||
| 171 | struct cifs_sb_info *cifs_sb = CIFS_SB(sb); | 171 | struct cifs_sb_info *cifs_sb = CIFS_SB(sb); |
| 172 | kill_anon_super(sb); | 172 | kill_anon_super(sb); |
| 173 | cifs_umount(cifs_sb); | 173 | cifs_umount(cifs_sb); |
| 174 | kfree(cifs_sb->mountdata); | ||
| 175 | unload_nls(cifs_sb->local_nls); | ||
| 176 | kfree(cifs_sb); | ||
| 177 | } | 174 | } |
| 178 | 175 | ||
| 179 | static int | 176 | static int |
| @@ -685,15 +682,12 @@ cifs_do_mount(struct file_system_type *fs_type, | |||
| 685 | if (IS_ERR(sb)) { | 682 | if (IS_ERR(sb)) { |
| 686 | root = ERR_CAST(sb); | 683 | root = ERR_CAST(sb); |
| 687 | cifs_umount(cifs_sb); | 684 | cifs_umount(cifs_sb); |
| 688 | goto out_cifs_sb; | 685 | goto out; |
| 689 | } | 686 | } |
| 690 | 687 | ||
| 691 | if (sb->s_fs_info) { | 688 | if (sb->s_fs_info) { |
| 692 | cFYI(1, "Use existing superblock"); | 689 | cFYI(1, "Use existing superblock"); |
| 693 | cifs_umount(cifs_sb); | 690 | cifs_umount(cifs_sb); |
| 694 | kfree(cifs_sb->mountdata); | ||
| 695 | unload_nls(cifs_sb->local_nls); | ||
| 696 | kfree(cifs_sb); | ||
| 697 | goto out_shared; | 691 | goto out_shared; |
| 698 | } | 692 | } |
| 699 | 693 | ||
| @@ -725,13 +719,6 @@ out_shared: | |||
| 725 | 719 | ||
| 726 | out_super: | 720 | out_super: |
| 727 | deactivate_locked_super(sb); | 721 | deactivate_locked_super(sb); |
| 728 | goto out; | ||
| 729 | |||
| 730 | out_cifs_sb: | ||
| 731 | kfree(cifs_sb->mountdata); | ||
| 732 | unload_nls(cifs_sb->local_nls); | ||
| 733 | kfree(cifs_sb); | ||
| 734 | |||
| 735 | out: | 722 | out: |
| 736 | cifs_cleanup_volume_info(&volume_info); | 723 | cifs_cleanup_volume_info(&volume_info); |
| 737 | return root; | 724 | return root; |
