]>
git.proxmox.com Git - ceph.git/blob - ceph/src/crimson/os/futurized_store.cc
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 #include "futurized_store.h"
5 #include "cyanstore/cyan_store.h"
7 #include "alienstore/alien_store.h"
9 #include "seastore/seastore.h"
11 namespace crimson::os
{
13 std::unique_ptr
<FuturizedStore
>
14 FuturizedStore::create(const std::string
& type
,
15 const std::string
& data
,
16 const ConfigValues
& values
)
18 if (type
== "cyanstore") {
19 using crimson::os::CyanStore
;
20 return std::make_unique
<CyanStore
>(data
);
21 } else if (type
== "seastore") {
22 return crimson::os::seastore::make_seastore(
25 using crimson::os::AlienStore
;
27 // use AlienStore as a fallback. It adapts e.g. BlueStore.
28 return std::make_unique
<AlienStore
>(type
, data
, values
);
30 ceph_abort_msgf("unsupported objectstore type: %s", type
.c_str());