]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/osdc/ObjectCacher.h
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / osdc / ObjectCacher.h
index bc6133651e934fb44099bab35a4e022787937923..d5a77cd18aa19f6feee5b30694d485c12ea1d22b 100644 (file)
@@ -61,34 +61,34 @@ class ObjectCacher {
 
   // read scatter/gather
   struct OSDRead {
-    vector<ObjectExtent> extents;
+    std::vector<ObjectExtent> extents;
     snapid_t snap;
-    bufferlist *bl;
+    ceph::buffer::list *bl;
     int fadvise_flags;
-    OSDRead(snapid_t s, bufferlist *b, int f)
+    OSDRead(snapid_t s, ceph::buffer::list *b, int f)
       : snap(s), bl(b), fadvise_flags(f) {}
   };
 
-  OSDRead *prepare_read(snapid_t snap, bufferlist *b, int f) const {
+  OSDRead *prepare_read(snapid_t snap, ceph::buffer::list *b, int f) const {
     return new OSDRead(snap, b, f);
   }
 
   // write scatter/gather
   struct OSDWrite {
-    vector<ObjectExtent> extents;
+    std::vector<ObjectExtent> extents;
     SnapContext snapc;
-    bufferlist bl;
+    ceph::buffer::list bl;
     ceph::real_time mtime;
     int fadvise_flags;
     ceph_tid_t journal_tid;
-    OSDWrite(const SnapContext& sc, const bufferlist& b, ceph::real_time mt,
+    OSDWrite(const SnapContext& sc, const ceph::buffer::list& b, ceph::real_time mt,
             int f, ceph_tid_t _journal_tid)
       : snapc(sc), bl(b), mtime(mt), fadvise_flags(f),
        journal_tid(_journal_tid) {}
   };
 
   OSDWrite *prepare_write(const SnapContext& sc,
-                         const bufferlist &b,
+                         const ceph::buffer::list &b,
                          ceph::real_time mt,
                          int f,
                          ceph_tid_t journal_tid) const {
@@ -121,7 +121,7 @@ class ObjectCacher {
 
   public:
     Object *ob;
-    bufferlist  bl;
+    ceph::buffer::list  bl;
     ceph_tid_t last_write_tid;  // version of bh (if non-zero)
     ceph_tid_t last_read_tid;   // tid of last read op (if any)
     ceph::real_time last_write;
@@ -129,7 +129,7 @@ class ObjectCacher {
     ceph_tid_t journal_tid;
     int error; // holds return value for failed reads
 
-    map<loff_t, list<Context*> > waitfor_read;
+    std::map<loff_t, std::list<Context*> > waitfor_read;
 
     // cons
     explicit BufferHead(Object *o) :
@@ -243,14 +243,14 @@ class ObjectCacher {
     bool complete;
     bool exists;
 
-    map<loff_t, BufferHead*>     data;
+    std::map<loff_t, BufferHead*>     data;
 
     ceph_tid_t last_write_tid;  // version of bh (if non-zero)
     ceph_tid_t last_commit_tid; // last update committed.
 
     int dirty_or_tx;
 
-    map< ceph_tid_t, list<Context*> > waitfor_commit;
+    std::map< ceph_tid_t, std::list<Context*> > waitfor_commit;
     xlist<C_ReadFinish*> reads;
 
     Object(const Object&) = delete;
@@ -280,7 +280,7 @@ class ObjectCacher {
     object_t get_oid() { return oid.oid; }
     snapid_t get_snap() { return oid.snap; }
     ObjectSet *get_object_set() const { return oset; }
-    string get_namespace() { return oloc.nspace; }
+    std::string get_namespace() { return oloc.nspace; }
     uint64_t get_object_number() const { return object_no; }
 
     const object_locator_t& get_oloc() const { return oloc; }
@@ -309,8 +309,8 @@ class ObjectCacher {
      * @param offset object byte offset
      * @return iterator pointing to buffer, or data.end()
      */
-    map<loff_t,BufferHead*>::const_iterator data_lower_bound(loff_t offset) const {
-      map<loff_t,BufferHead*>::const_iterator p = data.lower_bound(offset);
+    std::map<loff_t,BufferHead*>::const_iterator data_lower_bound(loff_t offset) const {
+      auto p = data.lower_bound(offset);
       if (p != data.begin() &&
          (p == data.end() || p->first > offset)) {
        --p;     // might overlap!
@@ -347,10 +347,10 @@ class ObjectCacher {
     bool is_cached(loff_t off, loff_t len) const;
     bool include_all_cached_data(loff_t off, loff_t len);
     int map_read(ObjectExtent &ex,
-                 map<loff_t, BufferHead*>& hits,
-                 map<loff_t, BufferHead*>& missing,
-                 map<loff_t, BufferHead*>& rx,
-                map<loff_t, BufferHead*>& errors);
+                 std::map<loff_t, BufferHead*>& hits,
+                 std::map<loff_t, BufferHead*>& missing,
+                 std::map<loff_t, BufferHead*>& rx,
+                std::map<loff_t, BufferHead*>& errors);
     BufferHead *map_write(ObjectExtent &ex, ceph_tid_t tid);
 
     void replace_journal_tid(BufferHead *bh, ceph_tid_t tid);
@@ -398,7 +398,7 @@ class ObjectCacher {
   WritebackHandler& writeback_handler;
   bool scattered_write;
 
-  string name;
+  std::string name;
   ceph::mutex& lock;
 
   uint64_t max_dirty, target_dirty, max_size, max_objects;
@@ -411,13 +411,13 @@ class ObjectCacher {
   void *flush_set_callback_arg;
 
   // indexed by pool_id
-  vector<ceph::unordered_map<sobject_t, Object*> > objects;
+  std::vector<ceph::unordered_map<sobject_t, Object*> > objects;
 
-  list<Context*> waitfor_read;
+  std::list<Context*> waitfor_read;
 
   ceph_tid_t last_read_tid;
 
-  set<BufferHead*, BufferHead::ptr_lt> dirty_or_tx_bh;
+  std::set<BufferHead*, BufferHead::ptr_lt> dirty_or_tx_bh;
   LRU   bh_lru_dirty, bh_lru_rest;
   LRU   ob_lru;
 
@@ -529,7 +529,7 @@ class ObjectCacher {
   void bh_read(BufferHead *bh, int op_flags,
                const ZTracer::Trace &parent_trace);
   void bh_write(BufferHead *bh, const ZTracer::Trace &parent_trace);
-  void bh_write_scattered(list<BufferHead*>& blist);
+  void bh_write_scattered(std::list<BufferHead*>& blist);
   void bh_write_adjacencies(BufferHead *bh, ceph::real_time cutoff,
                            int64_t *amount, int *max_count);
 
@@ -562,10 +562,10 @@ class ObjectCacher {
  public:
   void bh_read_finish(int64_t poolid, sobject_t oid, ceph_tid_t tid,
                      loff_t offset, uint64_t length,
-                     bufferlist &bl, int r,
+                     ceph::buffer::list &bl, int r,
                      bool trust_enoent);
   void bh_write_commit(int64_t poolid, sobject_t oid,
-                      vector<pair<loff_t, uint64_t> >& ranges,
+                      std::vector<std::pair<loff_t, uint64_t> >& ranges,
                       ceph_tid_t t, int r);
 
   class C_WriteCommit;
@@ -576,7 +576,7 @@ class ObjectCacher {
 
 
 
-  ObjectCacher(CephContext *cct_, string name, WritebackHandler& wb, ceph::mutex& l,
+  ObjectCacher(CephContext *cct_, std::string name, WritebackHandler& wb, ceph::mutex& l,
               flush_set_callback_t flush_callback,
               void *flush_callback_arg,
               uint64_t max_bytes, uint64_t max_objects,
@@ -610,7 +610,7 @@ class ObjectCacher {
            ZTracer::Trace *parent_trace = nullptr);
   int writex(OSDWrite *wr, ObjectSet *oset, Context *onfreespace,
             ZTracer::Trace *parent_trace = nullptr);
-  bool is_cached(ObjectSet *oset, vector<ObjectExtent>& extents,
+  bool is_cached(ObjectSet *oset, std::vector<ObjectExtent>& extents,
                 snapid_t snapid);
 
 private:
@@ -620,7 +620,7 @@ private:
   void _maybe_wait_for_writeback(uint64_t len, ZTracer::Trace *trace);
   bool _flush_set_finish(C_GatherBuilder *gather, Context *onfinish);
 
-  void _discard(ObjectSet *oset, const vector<ObjectExtent>& exls,
+  void _discard(ObjectSet *oset, const std::vector<ObjectExtent>& exls,
                 C_GatherBuilder* gather);
   void _discard_finish(ObjectSet *oset, bool was_dirty, Context* on_finish);
 
@@ -630,7 +630,7 @@ public:
   bool set_is_dirty_or_committing(ObjectSet *oset);
 
   bool flush_set(ObjectSet *oset, Context *onfinish=0);
-  bool flush_set(ObjectSet *oset, vector<ObjectExtent>& ex,
+  bool flush_set(ObjectSet *oset, std::vector<ObjectExtent>& ex,
                  ZTracer::Trace *trace, Context *onfinish = 0);
   bool flush_all(Context *onfinish = 0);
 
@@ -640,8 +640,8 @@ public:
   loff_t release_set(ObjectSet *oset);
   uint64_t release_all();
 
-  void discard_set(ObjectSet *oset, const vector<ObjectExtent>& ex);
-  void discard_writeback(ObjectSet *oset, const vector<ObjectExtent>& ex,
+  void discard_set(ObjectSet *oset, const std::vector<ObjectExtent>& ex);
+  void discard_writeback(ObjectSet *oset, const std::vector<ObjectExtent>& ex,
                          Context* on_finish);
 
   /**
@@ -664,7 +664,7 @@ public:
     max_size = v;
   }
   void set_max_dirty_age(double a) {
-    max_dirty_age = make_timespan(a);
+    max_dirty_age = ceph::make_timespan(a);
   }
   void set_max_objects(int64_t v) {
     max_objects = v;
@@ -676,14 +676,14 @@ public:
   /*** async+caching (non-blocking) file interface ***/
   int file_is_cached(ObjectSet *oset, file_layout_t *layout,
                     snapid_t snapid, loff_t offset, uint64_t len) {
-    vector<ObjectExtent> extents;
+    std::vector<ObjectExtent> extents;
     Striper::file_to_extents(cct, oset->ino, layout, offset, len,
                             oset->truncate_size, extents);
     return is_cached(oset, extents, snapid);
   }
 
   int file_read(ObjectSet *oset, file_layout_t *layout, snapid_t snapid,
-               loff_t offset, uint64_t len, bufferlist *bl, int flags,
+               loff_t offset, uint64_t len, ceph::buffer::list *bl, int flags,
                Context *onfinish) {
     OSDRead *rd = prepare_read(snapid, bl, flags);
     Striper::file_to_extents(cct, oset->ino, layout, offset, len,
@@ -693,7 +693,7 @@ public:
 
   int file_write(ObjectSet *oset, file_layout_t *layout,
                 const SnapContext& snapc, loff_t offset, uint64_t len,
-                bufferlist& bl, ceph::real_time mtime, int flags) {
+                ceph::buffer::list& bl, ceph::real_time mtime, int flags) {
     OSDWrite *wr = prepare_write(snapc, bl, mtime, flags, 0);
     Striper::file_to_extents(cct, oset->ino, layout, offset, len,
                             oset->truncate_size, wr->extents);
@@ -703,7 +703,7 @@ public:
   bool file_flush(ObjectSet *oset, file_layout_t *layout,
                  const SnapContext& snapc, loff_t offset, uint64_t len,
                  Context *onfinish) {
-    vector<ObjectExtent> extents;
+    std::vector<ObjectExtent> extents;
     Striper::file_to_extents(cct, oset->ino, layout, offset, len,
                             oset->truncate_size, extents);
     ZTracer::Trace trace;
@@ -712,7 +712,8 @@ public:
 };
 
 
-inline ostream& operator<<(ostream &out, const ObjectCacher::BufferHead &bh)
+inline std::ostream& operator<<(std::ostream &out,
+                               const ObjectCacher::BufferHead &bh)
 {
   out << "bh[ " << &bh << " "
       << bh.start() << "~" << bh.length()
@@ -732,11 +733,9 @@ inline ostream& operator<<(ostream &out, const ObjectCacher::BufferHead &bh)
   if (bh.error) out << " error=" << bh.error;
   out << "]";
   out << " waiters = {";
-  for (map<loff_t, list<Context*> >::const_iterator it
-        = bh.waitfor_read.begin();
-       it != bh.waitfor_read.end(); ++it) {
+  for (auto it = bh.waitfor_read.begin(); it != bh.waitfor_read.end(); ++it) {
     out << " " << it->first << "->[";
-    for (list<Context*>::const_iterator lit = it->second.begin();
+    for (auto lit = it->second.begin();
         lit != it->second.end(); ++lit) {
         out << *lit << ", ";
     }
@@ -746,7 +745,8 @@ inline ostream& operator<<(ostream &out, const ObjectCacher::BufferHead &bh)
   return out;
 }
 
-inline ostream& operator<<(ostream &out, const ObjectCacher::ObjectSet &os)
+inline std::ostream& operator<<(std::ostream &out,
+                               const ObjectCacher::ObjectSet &os)
 {
   return out << "objectset[" << os.ino
             << " ts " << os.truncate_seq << "/" << os.truncate_size
@@ -755,10 +755,11 @@ inline ostream& operator<<(ostream &out, const ObjectCacher::ObjectSet &os)
             << "]";
 }
 
-inline ostream& operator<<(ostream &out, const ObjectCacher::Object &ob)
+inline std::ostream& operator<<(std::ostream &out,
+                               const ObjectCacher::Object &ob)
 {
   out << "object["
-      << ob.get_soid() << " oset " << ob.oset << dec
+      << ob.get_soid() << " oset " << ob.oset << std::dec
       << " wr " << ob.last_write_tid << "/" << ob.last_commit_tid;
 
   if (ob.complete)