]> git.proxmox.com Git - ceph.git/blame - ceph/src/librbd/cache/pwl/ssd/Types.h
import ceph quincy 17.2.1
[ceph.git] / ceph / src / librbd / cache / pwl / ssd / Types.h
CommitLineData
f67539c2
TL
1// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2// vim: ts=8 sw=2 smarttab
3
4#ifndef CEPH_LIBRBD_CACHE_SSD_TYPES_H
5#define CEPH_LIBRBD_CACHE_SSD_TYPES_H
6
7#include "acconfig.h"
8
9#include "librbd/io/Types.h"
10#include "librbd/cache/pwl/Types.h"
11
12namespace librbd {
13namespace cache {
14namespace pwl {
15namespace ssd {
16
17struct SuperBlock{
18 WriteLogPoolRoot root;
19
20 DENC(SuperBlock, v, p) {
21 DENC_START(1, 1, p);
22 denc(v.root, p);
23 DENC_FINISH(p);
24 }
25
26 void dump(Formatter *f) const {
27 f->dump_object("super", root);
28 }
29
20effc67 30 static void generate_test_instances(std::list<SuperBlock*>& ls) {
33c7a0ef 31 ls.push_back(new SuperBlock());
f67539c2 32 ls.push_back(new SuperBlock);
33c7a0ef
TL
33 ls.back()->root.layout_version = 3;
34 ls.back()->root.cur_sync_gen = 1;
35 ls.back()->root.pool_size = 10737418240;
36 ls.back()->root.flushed_sync_gen = 1;
37 ls.back()->root.block_size = 4096;
38 ls.back()->root.num_log_entries = 0;
39 ls.back()->root.first_free_entry = 30601;
f67539c2
TL
40 ls.back()->root.first_valid_entry = 2;
41 }
42};
43
44} // namespace ssd
45} // namespace pwl
46} // namespace cache
47} // namespace librbd
48
49WRITE_CLASS_DENC(librbd::cache::pwl::ssd::SuperBlock)
50
51#endif // CEPH_LIBRBD_CACHE_SSD_TYPES_H