From de0bdde45be1f5ee86567ffb4ab42ebe8d75a971 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sun, 9 Nov 2008 20:15:57 -0800 Subject: [PATCH] objecter: destructively take ops[], bufferlist passed to read(), modify(). Small optimization. --- src/osdc/Objecter.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/osdc/Objecter.h b/src/osdc/Objecter.h index 85addf8edcb3b..63be7448ef7ff 100644 --- a/src/osdc/Objecter.h +++ b/src/osdc/Objecter.h @@ -84,9 +84,11 @@ class Objecter { int inc_lock; ReadOp(object_t o, ceph_object_layout& ol, vector& op, int f, Context *of) : - oid(o), layout(ol), ops(op), + oid(o), layout(ol), pbl(0), psize(0), flags(f), onfinish(of), - tid(0), attempts(0), inc_lock(-1) { } + tid(0), attempts(0), inc_lock(-1) { + ops.swap(op); + } }; @@ -106,8 +108,10 @@ class Objecter { ModifyOp(object_t o, ceph_object_layout& l, vector& op, const SnapContext& sc, int f, Context *ac, Context *co) : - oid(o), layout(l), snapc(sc), ops(op), flags(f), onack(ac), oncommit(co), - tid(0), attempts(0), inc_lock(-1) { } + oid(o), layout(l), snapc(sc), flags(f), onack(ac), oncommit(co), + tid(0), attempts(0), inc_lock(-1) { + ops.swap(op); + } }; @@ -210,7 +214,7 @@ class Objecter { const SnapContext& snapc, bufferlist &bl, int flags, Context *onack, Context *oncommit) { ModifyOp *wr = new ModifyOp(oid, ol, ops, snapc, flags, onack, oncommit); - wr->bl = bl; + wr->bl.swap(bl); return modify_submit(wr); } -- 2.39.5