From 56f45b4f57aabaff31c6b21169311df9e3ad77cd Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 5 Oct 2009 11:11:03 -0700 Subject: [PATCH] objecter: Session type --- src/osdc/Objecter.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/osdc/Objecter.h b/src/osdc/Objecter.h index 68ca690b801e3..cba659f876603 100644 --- a/src/osdc/Objecter.h +++ b/src/osdc/Objecter.h @@ -17,6 +17,7 @@ #include "include/types.h" #include "include/buffer.h" +#include "include/xlist.h" #include "osd/OSDMap.h" #include "messages/MOSDOp.h" @@ -199,11 +200,14 @@ class Objecter { }; void tick(); +public: /*** track pending operations ***/ // read public: struct Op { + xlist::item session_item; + object_t oid; ceph_object_layout layout; vector ops; @@ -226,6 +230,7 @@ class Objecter { Op(const object_t& o, ceph_object_layout& l, vector& op, int f, Context *ac, Context *co) : + session_item(this), oid(o), layout(l), snapid(CEPH_NOSNAP), outbl(0), flags(f), priority(0), onack(ac), oncommit(co), tid(0), attempts(0), @@ -336,6 +341,16 @@ class Objecter { utime_t last_submit; }; + + // -- osd sessions -- + struct Session { + xlist ops; + int osd; + int incarnation; + }; + map sessions; + + private: // pending ops hash_map op_osd; -- 2.39.5