]> git.proxmox.com Git - ceph.git/blame - ceph/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_manager.cc
import quincy beta 17.1.0
[ceph.git] / ceph / src / crimson / os / seastore / onode_manager / staged-fltree / node_extent_manager.cc
CommitLineData
f67539c2
TL
1// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:nil -*-
2// vim: ts=8 sw=2 smarttab
3
4#include "node_extent_manager.h"
5
6#include "node_extent_manager/dummy.h"
7#include "node_extent_manager/seastore.h"
f67539c2
TL
8
9namespace crimson::os::seastore::onode {
10
20effc67
TL
11NodeExtentManagerURef NodeExtentManager::create_dummy(bool is_sync)
12{
f67539c2
TL
13 if (is_sync) {
14 return NodeExtentManagerURef(new DummyNodeExtentManager<true>());
15 } else {
16 return NodeExtentManagerURef(new DummyNodeExtentManager<false>());
17 }
18}
19
20NodeExtentManagerURef NodeExtentManager::create_seastore(
20effc67
TL
21 TransactionManager &tm, laddr_t min_laddr, double p_eagain)
22{
23 if (p_eagain == 0.0) {
24 return NodeExtentManagerURef(
25 new SeastoreNodeExtentManager<false>(tm, min_laddr, p_eagain));
26 } else {
27 return NodeExtentManagerURef(
28 new SeastoreNodeExtentManager<true>(tm, min_laddr, p_eagain));
29 }
f67539c2
TL
30}
31
32}