]> git.proxmox.com Git - ceph.git/blob - ceph/src/librbd/cache/pwl/ssd/Types.h
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / librbd / cache / pwl / ssd / Types.h
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
12 namespace librbd {
13 namespace cache {
14 namespace pwl {
15 namespace ssd {
16
17 struct 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
30 static void generate_test_instances(list<SuperBlock*>& ls) {
31 ls.push_back(new SuperBlock);
32 ls.push_back(new SuperBlock);
33 ls.back()->root.first_valid_entry = 2;
34 }
35 };
36
37 } // namespace ssd
38 } // namespace pwl
39 } // namespace cache
40 } // namespace librbd
41
42 WRITE_CLASS_DENC(librbd::cache::pwl::ssd::SuperBlock)
43
44 #endif // CEPH_LIBRBD_CACHE_SSD_TYPES_H