From 37348a1a7912a0532e3d25fe7974071387a5c49f Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 23 Jan 2009 12:52:19 -0800 Subject: [PATCH] kclient: fix osd writes Fixes commit 9664adfcb293c18fa69febad550f6b98b9d2feb5. --- src/kernel/osd_client.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/kernel/osd_client.c b/src/kernel/osd_client.c index 248b29147409..888a80f9b496 100644 --- a/src/kernel/osd_client.c +++ b/src/kernel/osd_client.c @@ -272,11 +272,15 @@ static int map_osds(struct ceph_osd_client *osdc, if (ceph_osd_is_up(osdc->osdmap, osds[i])) osds[j++] = osds[i]; num = j; + dout(20, "map_osds req %p maps to %d osds\n", req, num); /* same? */ if (num == req->r_pg_num_osds && - memcpy(osds, req->r_pg_osds, sizeof(osds[0]) * num) == 0) + memcmp(osds, req->r_pg_osds, sizeof(osds[0]) * num) == 0) return 0; + + memcpy(req->r_pg_osds, osds, sizeof(osds[0]) * num); + req->r_pg_num_osds = num; return 1; } -- 2.47.3