diff options
Diffstat (limited to 'fs/ceph/osd_client.c')
-rw-r--r-- | fs/ceph/osd_client.c | 12 |
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) | |||
882 | /* verify fsid */ | 882 | /* verify fsid */ |
883 | ceph_decode_need(&p, end, sizeof(fsid), bad); | 883 | ceph_decode_need(&p, end, sizeof(fsid), bad); |
884 | ceph_decode_copy(&p, &fsid, sizeof(fsid)); | 884 | ceph_decode_copy(&p, &fsid, sizeof(fsid)); |
885 | if (osdc->client->monc.have_fsid) { | 885 | if (ceph_check_fsid(osdc->client, &fsid) < 0) |
886 | if (ceph_fsid_compare(&fsid, | 886 | return; |
887 | &osdc->client->monc.monmap->fsid)) { | ||
888 | pr_err("got osdmap with wrong fsid, ignoring\n"); | ||
889 | return; | ||
890 | } | ||
891 | } else { | ||
892 | ceph_fsid_set(&osdc->client->monc.monmap->fsid, &fsid); | ||
893 | osdc->client->monc.have_fsid = true; | ||
894 | } | ||
895 | 887 | ||
896 | down_write(&osdc->map_sem); | 888 | down_write(&osdc->map_sem); |
897 | 889 | ||