diff options
author | majianpeng <majianpeng@gmail.com> | 2013-06-25 08:48:19 +0200 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-07-04 00:32:53 +0200 |
commit | fb3101b6f0db9ae3f35dc8e6ec908d0af8cdf12e (patch) | |
tree | 14253af04f0012782e4809e64eefbde11115ac23 /fs/ceph/mds_client.c | |
parent | ceph: remove sb_start/end_write in ceph_aio_write. (diff) | |
download | linux-fb3101b6f0db9ae3f35dc8e6ec908d0af8cdf12e.tar.xz linux-fb3101b6f0db9ae3f35dc8e6ec908d0af8cdf12e.zip |
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/ceph/mds_client.c')
-rw-r--r-- | fs/ceph/mds_client.c | 4 |
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) fsc->mdsc = mdsc; mutex_init(&mdsc->mutex); mdsc->mdsmap = kzalloc(sizeof(*mdsc->mdsmap), GFP_NOFS); - if (mdsc->mdsmap == NULL) + if (mdsc->mdsmap == NULL) { + kfree(mdsc); return -ENOMEM; + } init_completion(&mdsc->safe_umount_waiters); init_waitqueue_head(&mdsc->session_close_wq); |