diff --git a/[refs] b/[refs] index 59adb275b9ee..39ee3909ce43 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 767ea5c33a360ce88da24e296e802dace5821799 +refs/heads/master: d4a780ce8821a37dd135f15b6150a5bfc5604f29 diff --git a/trunk/fs/ceph/mon_client.c b/trunk/fs/ceph/mon_client.c index 1dd0dc258c50..a76da5e6dbdd 100644 --- a/trunk/fs/ceph/mon_client.c +++ b/trunk/fs/ceph/mon_client.c @@ -320,17 +320,18 @@ static void ceph_monc_handle_map(struct ceph_mon_client *monc, if (IS_ERR(monmap)) { pr_err("problem decoding monmap, %d\n", (int)PTR_ERR(monmap)); - return; + goto out; } if (ceph_check_fsid(monc->client, &monmap->fsid) < 0) { kfree(monmap); - return; + goto out; } client->monc.monmap = monmap; kfree(old); +out: mutex_unlock(&monc->mutex); wake_up(&client->mount_wq); }