diff options
author | Sage Weil <sage.weil@dreamhost.com> | 2012-01-27 12:23:23 -0800 |
---|---|---|
committer | Sage Weil <sage.weil@dreamhost.com> | 2012-01-27 12:23:23 -0800 |
commit | 6d37d5c95e88bae1653c63ebb4c307d0f3ee2f83 (patch) | |
tree | 99eab82a2a4f345f9b434c1c1a3f28ff97ca81d9 | |
parent | 946da5a338015a583c6c9da476560c24604ae283 (diff) | |
download | ceph-6d37d5c95e88bae1653c63ebb4c307d0f3ee2f83.tar.gz |
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 <sage.weil@dreamhost.com>
-rw-r--r-- | src/osdc/Objecter.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/osdc/Objecter.h b/src/osdc/Objecter.h index 0814b58cecf..7522a5929a3 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(); |