mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
ceph: Free mdsc if alloc mdsc->mdsmap failed.
Signed-off-by: Jianpeng Ma <majianpeng@gmail.com> Reviewed-by: Sage Weil <sage@inktank.com>
This commit is contained in:
parent
0405a1499d
commit
fb3101b6f0
@ -3042,8 +3042,10 @@ int ceph_mdsc_init(struct ceph_fs_client *fsc)
|
|||||||
fsc->mdsc = mdsc;
|
fsc->mdsc = mdsc;
|
||||||
mutex_init(&mdsc->mutex);
|
mutex_init(&mdsc->mutex);
|
||||||
mdsc->mdsmap = kzalloc(sizeof(*mdsc->mdsmap), GFP_NOFS);
|
mdsc->mdsmap = kzalloc(sizeof(*mdsc->mdsmap), GFP_NOFS);
|
||||||
if (mdsc->mdsmap == NULL)
|
if (mdsc->mdsmap == NULL) {
|
||||||
|
kfree(mdsc);
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
init_completion(&mdsc->safe_umount_waiters);
|
init_completion(&mdsc->safe_umount_waiters);
|
||||||
init_waitqueue_head(&mdsc->session_close_wq);
|
init_waitqueue_head(&mdsc->session_close_wq);
|
||||||
|
Loading…
Reference in New Issue
Block a user