Merge pull request #52446 from xxhdx1985126/wip-seastore-lazy-read-patch

crimson/os/seastore/transaction_manager: data loss issues

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Xinyu Huang <xinyu.huang@intel.com>
This commit is contained in:
Yingxin 2023-07-24 09:55:54 +08:00 committed by GitHub
commit cf49dbed53
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 3 deletions

View File

@ -505,7 +505,7 @@ public:
extent_len_t length,
Func &&extent_init_func) {
CachedExtentRef ret;
LOG_PREFIX(Cache::get_extent);
LOG_PREFIX(Cache::get_absent_extent);
#ifndef NDEBUG
auto r = t.get_extent(offset, &ret);

View File

@ -19,10 +19,12 @@ namespace crimson::os::seastore {
struct ObjectDataBlock : crimson::os::seastore::LogicalCachedExtent {
using Ref = TCachedExtentRef<ObjectDataBlock>;
ObjectDataBlock(ceph::bufferptr &&ptr)
explicit ObjectDataBlock(ceph::bufferptr &&ptr)
: LogicalCachedExtent(std::move(ptr)) {}
ObjectDataBlock(const ObjectDataBlock &other)
explicit ObjectDataBlock(const ObjectDataBlock &other)
: LogicalCachedExtent(other) {}
explicit ObjectDataBlock(extent_len_t length)
: LogicalCachedExtent(length) {}
CachedExtentRef duplicate_for_write(Transaction&) final {
return CachedExtentRef(new ObjectDataBlock(*this));