aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authormajianpeng <majianpeng@gmail.com>2013-06-25 02:48:19 -0400
committerSage Weil <sage@inktank.com>2013-07-03 18:32:53 -0400
commitfb3101b6f0db9ae3f35dc8e6ec908d0af8cdf12e (patch)
tree14253af04f0012782e4809e64eefbde11115ac23 /fs
parent0405a1499df42a2b9fd4906096c6bb950e15e850 (diff)
ceph: Free mdsc if alloc mdsc->mdsmap failed.
Signed-off-by: Jianpeng Ma <majianpeng@gmail.com> Reviewed-by: Sage Weil <sage@inktank.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/ceph/mds_client.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c
index 6272c7884e66..3eb1b4470c85 100644
--- a/fs/ceph/mds_client.c
+++ b/fs/ceph/mds_client.c
@@ -3042,8 +3042,10 @@ int ceph_mdsc_init(struct ceph_fs_client *fsc)
3042 fsc->mdsc = mdsc; 3042 fsc->mdsc = mdsc;
3043 mutex_init(&mdsc->mutex); 3043 mutex_init(&mdsc->mutex);
3044 mdsc->mdsmap = kzalloc(sizeof(*mdsc->mdsmap), GFP_NOFS); 3044 mdsc->mdsmap = kzalloc(sizeof(*mdsc->mdsmap), GFP_NOFS);
3045 if (mdsc->mdsmap == NULL) 3045 if (mdsc->mdsmap == NULL) {
3046 kfree(mdsc);
3046 return -ENOMEM; 3047 return -ENOMEM;
3048 }
3047 3049
3048 init_completion(&mdsc->safe_umount_waiters); 3050 init_completion(&mdsc->safe_umount_waiters);
3049 init_waitqueue_head(&mdsc->session_close_wq); 3051 init_waitqueue_head(&mdsc->session_close_wq);