From: Sage Weil Date: Fri, 27 Jan 2012 20:23:23 +0000 (-0800) Subject: objecter: fix out_* initialization X-Git-Tag: v0.41~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6d37d5c95e88bae1653c63ebb4c307d0f3ee2f83;p=ceph.git objecter: fix out_* initialization This looks more like the real cause for #1986. Op ctor gets a vector of ops but out_* aren't initialized to match. Signed-off-by: Sage Weil --- diff --git a/src/osdc/Objecter.h b/src/osdc/Objecter.h index 0814b58cecfe..7522a5929a33 100644 --- a/src/osdc/Objecter.h +++ b/src/osdc/Objecter.h @@ -481,6 +481,16 @@ public: tid(0), attempts(0), paused(false), objver(ov), reply_epoch(NULL) { ops.swap(op); + + /* initialize out_* to match op vector */ + out_bl.resize(ops.size()); + out_rval.resize(ops.size()); + out_handler.resize(ops.size()); + for (unsigned i = 0; i < ops.size(); i++) { + out_bl[i] = NULL; + out_handler[i] = NULL; + out_rval[i] = NULL; + } if (oloc.key == o) oloc.key.clear();