diff options
Diffstat (limited to 'src/mon/OSDMonitor.cc')
-rw-r--r-- | src/mon/OSDMonitor.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index c845c2b600c..3186c4d6bc3 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -2979,7 +2979,6 @@ bool OSDMonitor::prepare_pool_op(MPoolOp *m) return prepare_pool_op_auid(m); } - bufferlist *blp = NULL; int ret = 0; bool changed = false; @@ -2990,6 +2989,8 @@ bool OSDMonitor::prepare_pool_op(MPoolOp *m) else pp = *osdmap.get_pg_pool(m->pool); + bufferlist reply_data; + // pool snaps vs unmanaged snaps are mutually exclusive switch (m->op) { case POOL_OP_CREATE_SNAP: @@ -3029,10 +3030,9 @@ bool OSDMonitor::prepare_pool_op(MPoolOp *m) case POOL_OP_CREATE_UNMANAGED_SNAP: { - blp = new bufferlist(); uint64_t snapid; pp.add_unmanaged_snap(snapid); - ::encode(snapid, *blp); + ::encode(snapid, reply_data); changed = true; } break; @@ -3055,7 +3055,7 @@ bool OSDMonitor::prepare_pool_op(MPoolOp *m) } out: - paxos->wait_for_commit(new OSDMonitor::C_PoolOp(this, m, ret, pending_inc.epoch, blp)); + paxos->wait_for_commit(new OSDMonitor::C_PoolOp(this, m, ret, pending_inc.epoch, &reply_data)); propose_pending(); return false; } |