Otherwise, we don't appropriately initialize root.
Signed-off-by: Samuel Just <sjust@redhat.com>
friend class Cache;
- template <typename T, typename... Args>
- static TCachedExtentRef<T> make_cached_extent_ref(Args&&... args) {
- return new T(std::forward<Args>(args)...);
+ template <typename T>
+ static TCachedExtentRef<T> make_cached_extent_ref(bufferptr &&ptr) {
+ return new T(std::move(ptr));
}
void set_paddr(paddr_t offset) { poffset = offset; }
template <typename... T>
RootBlock(T&&... t) : CachedExtent(std::forward<T>(t)...) {}
+ RootBlock(const RootBlock &rhs) = default;
+
CachedExtentRef duplicate_for_write() final {
return CachedExtentRef(new RootBlock(*this));
};