aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ceph/osd_client.c
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2009-12-21 17:49:37 -0500
committerSage Weil <sage@newdream.net>2009-12-21 19:39:59 -0500
commit30dc6381bbac213987be6fe0b0fb89868ff1f2c0 (patch)
treef647d1826a3f8cf07a510cad49c9f400359a9ae4 /fs/ceph/osd_client.c
parent5de7bf8afa87f75af5ef3d6f9fce3e171cac834c (diff)
ceph: fix error paths for corrupt osdmap messages
Both osdmap_decode() and osdmap_apply_incremental() should never return NULL. Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/osd_client.c')
-rw-r--r--fs/ceph/osd_client.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/ceph/osd_client.c b/fs/ceph/osd_client.c
index 4bfe880d53c8..b474b3ad61f0 100644
--- a/fs/ceph/osd_client.c
+++ b/fs/ceph/osd_client.c
@@ -910,6 +910,7 @@ void ceph_osdc_handle_map(struct ceph_osd_client *osdc, struct ceph_msg *msg)
910 err = PTR_ERR(newmap); 910 err = PTR_ERR(newmap);
911 goto bad; 911 goto bad;
912 } 912 }
913 BUG_ON(!newmap);
913 if (newmap != osdc->osdmap) { 914 if (newmap != osdc->osdmap) {
914 ceph_osdmap_destroy(osdc->osdmap); 915 ceph_osdmap_destroy(osdc->osdmap);
915 osdc->osdmap = newmap; 916 osdc->osdmap = newmap;
@@ -946,6 +947,7 @@ void ceph_osdc_handle_map(struct ceph_osd_client *osdc, struct ceph_msg *msg)
946 err = PTR_ERR(newmap); 947 err = PTR_ERR(newmap);
947 goto bad; 948 goto bad;
948 } 949 }
950 BUG_ON(!newmap);
949 oldmap = osdc->osdmap; 951 oldmap = osdc->osdmap;
950 osdc->osdmap = newmap; 952 osdc->osdmap = newmap;
951 if (oldmap) 953 if (oldmap)