summaryrefslogtreecommitdiff
path: root/fs/ceph/osd_client.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ceph/osd_client.c')
-rw-r--r--fs/ceph/osd_client.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/fs/ceph/osd_client.c b/fs/ceph/osd_client.c
index ca0ee68c322a..d63f192999ee 100644
--- a/fs/ceph/osd_client.c
+++ b/fs/ceph/osd_client.c
@@ -882,16 +882,8 @@ void ceph_osdc_handle_map(struct ceph_osd_client *osdc, struct ceph_msg *msg)
/* verify fsid */
ceph_decode_need(&p, end, sizeof(fsid), bad);
ceph_decode_copy(&p, &fsid, sizeof(fsid));
- if (osdc->client->monc.have_fsid) {
- if (ceph_fsid_compare(&fsid,
- &osdc->client->monc.monmap->fsid)) {
- pr_err("got osdmap with wrong fsid, ignoring\n");
- return;
- }
- } else {
- ceph_fsid_set(&osdc->client->monc.monmap->fsid, &fsid);
- osdc->client->monc.have_fsid = true;
- }
+ if (ceph_check_fsid(osdc->client, &fsid) < 0)
+ return;
down_write(&osdc->map_sem);