aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ceph/super.c
diff options
context:
space:
mode:
authorJeff Layton <jlayton@kernel.org>2019-09-12 08:07:56 -0400
committerIlya Dryomov <idryomov@gmail.com>2019-09-16 12:06:25 +0200
commit3ee5a7015c8b7cb4de21f7345f8381946f2fce55 (patch)
tree7e590ad95097057c837e392fe1fd13786e6889d5 /fs/ceph/super.c
parentlibceph: use ceph_kvmalloc() for osdmap arrays (diff)
downloadlinux-dev-3ee5a7015c8b7cb4de21f7345f8381946f2fce55.tar.xz
linux-dev-3ee5a7015c8b7cb4de21f7345f8381946f2fce55.zip
ceph: call ceph_mdsc_destroy from destroy_fs_client
They're always called in succession. Signed-off-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to '')
-rw-r--r--fs/ceph/super.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/fs/ceph/super.c b/fs/ceph/super.c
index 03b63b1cd32c..7173679c8ed7 100644
--- a/fs/ceph/super.c
+++ b/fs/ceph/super.c
@@ -731,6 +731,7 @@ static void destroy_fs_client(struct ceph_fs_client *fsc)
{
dout("destroy_fs_client %p\n", fsc);
+ ceph_mdsc_destroy(fsc);
destroy_workqueue(fsc->inode_wq);
destroy_workqueue(fsc->cap_wq);
@@ -1105,7 +1106,6 @@ static struct dentry *ceph_mount(struct file_system_type *fs_type,
}
if (ceph_sb_to_client(sb) != fsc) {
- ceph_mdsc_destroy(fsc);
destroy_fs_client(fsc);
fsc = ceph_sb_to_client(sb);
dout("get_sb got existing client %p\n", fsc);
@@ -1131,7 +1131,6 @@ out_splat:
goto out_final;
out:
- ceph_mdsc_destroy(fsc);
destroy_fs_client(fsc);
out_final:
dout("ceph_mount fail %ld\n", PTR_ERR(res));
@@ -1155,8 +1154,6 @@ static void ceph_kill_sb(struct super_block *s)
ceph_fscache_unregister_fs(fsc);
- ceph_mdsc_destroy(fsc);
-
destroy_fs_client(fsc);
free_anon_bdev(dev);
}