]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc: add set_error in BufferHead, when split set_error to right 44726/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:34 +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 d7b75093ac6ab6576d4a8c95c69eceeba9ae0958..86fcc3974e7fac6123e4de0320fc2419e7b0002f 100644 (file)
@@ -107,6 +107,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 bc6133651e934fb44099bab35a4e022787937923..10022cd6c305b8639eb3a39a0ffc474eb65a0694 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;
     }