]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc: add set_error in BufferHead, when split set_error to right 44725/head
authorjiawd <jiawendong@xtaotech.com>
Thu, 11 Nov 2021 03:49:29 +0000 (03:49 +0000)
committerCory Snyder <csnyder@iland.com>
Fri, 21 Jan 2022 17:46:20 +0000 (12:46 -0500)
Fixes: https://tracker.ceph.com/issues/53227
Signed-off-by: jiawd <jiawendong@xtaotech.com>
(cherry picked from commit dba751ac0c0e9c8276a59ea3337b31fc71e26bf0)

src/osdc/ObjectCacher.cc
src/osdc/ObjectCacher.h

index 7522c8258c83fe7dfa8bc9c160b69d0071826fa4..f2b6d9736749f0941556dfe76dca57d42f2c3e06 100644 (file)
@@ -118,6 +118,7 @@ ObjectCacher::BufferHead *ObjectCacher::Object::split(BufferHead *left,
   right->last_write_tid = left->last_write_tid;
   right->last_read_tid = left->last_read_tid;
   right->set_state(left->get_state());
+  right->set_error(left->error);
   right->snapc = left->snapc;
   right->set_journal_tid(left->journal_tid);
 
index d5a77cd18aa19f6feee5b30694d485c12ea1d22b..2101692e14054311ae1b510139cfb19bfe09cad8 100644 (file)
@@ -161,6 +161,13 @@ class ObjectCacher {
     }
     int get_state() const { return state; }
 
+    inline int get_error() const {
+      return error;
+    }
+    inline void set_error(int _error) {
+      error = _error;
+    }
+
     inline ceph_tid_t get_journal_tid() const {
       return journal_tid;
     }