]>
Commit | Line | Data |
---|---|---|
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 | #include "crimson/os/seastore/seastore_types.h" | |
5 | ||
6 | namespace crimson::os::seastore { | |
7 | ||
8 | std::ostream &segment_to_stream(std::ostream &out, const segment_id_t &t) | |
9 | { | |
10 | if (t == NULL_SEG_ID) | |
11 | return out << "NULL_SEG"; | |
12 | else if (t == BLOCK_REL_SEG_ID) | |
13 | return out << "BLOCK_REL_SEG"; | |
14 | else if (t == RECORD_REL_SEG_ID) | |
15 | return out << "RECORD_REL_SEG"; | |
16 | else if (t == FAKE_SEG_ID) | |
17 | return out << "FAKE_SEG"; | |
18 | else | |
19 | return out << t; | |
20 | } | |
21 | ||
22 | std::ostream &offset_to_stream(std::ostream &out, const segment_off_t &t) | |
23 | { | |
24 | if (t == NULL_SEG_OFF) | |
25 | return out << "NULL_OFF"; | |
26 | else | |
27 | return out << t; | |
28 | } | |
29 | ||
30 | std::ostream &operator<<(std::ostream &out, const paddr_t &rhs) | |
31 | { | |
32 | out << "paddr_t<"; | |
33 | segment_to_stream(out, rhs.segment); | |
34 | out << ", "; | |
35 | offset_to_stream(out, rhs.offset); | |
36 | return out << ">"; | |
37 | } | |
38 | ||
39 | std::ostream &operator<<(std::ostream &out, const journal_seq_t &seq) | |
40 | { | |
41 | return out << "journal_seq_t(segment_seq=" | |
42 | << seq.segment_seq << ", offset=" | |
43 | << seq.offset | |
44 | << ")"; | |
45 | } | |
46 | ||
47 | std::ostream &operator<<(std::ostream &out, extent_types_t t) | |
48 | { | |
49 | switch (t) { | |
50 | case extent_types_t::ROOT: | |
51 | return out << "ROOT"; | |
52 | case extent_types_t::LADDR_INTERNAL: | |
53 | return out << "LADDR_INTERNAL"; | |
54 | case extent_types_t::LADDR_LEAF: | |
55 | return out << "LADDR_LEAF"; | |
56 | case extent_types_t::EXTMAP_INNER: | |
57 | return out << "EXTMAP_INNER"; | |
58 | case extent_types_t::EXTMAP_LEAF: | |
59 | return out << "EXTMAP_LEAF"; | |
60 | case extent_types_t::ONODE_BLOCK_STAGED: | |
61 | return out << "ONODE_BLOCK_STAGED"; | |
62 | case extent_types_t::TEST_BLOCK: | |
63 | return out << "TEST_BLOCK"; | |
64 | case extent_types_t::TEST_BLOCK_PHYSICAL: | |
65 | return out << "TEST_BLOCK_PHYSICAL"; | |
66 | case extent_types_t::NONE: | |
67 | return out << "NONE"; | |
68 | default: | |
69 | return out << "UNKNOWN"; | |
70 | } | |
71 | } | |
72 | ||
73 | std::ostream &operator<<(std::ostream &out, const laddr_list_t &rhs) | |
74 | { | |
75 | bool first = false; | |
76 | for (auto &i: rhs) { | |
77 | out << (first ? '[' : ',') << '(' << i.first << ',' << i.second << ')'; | |
78 | first = true; | |
79 | } | |
80 | return out << ']'; | |
81 | } | |
82 | std::ostream &operator<<(std::ostream &out, const paddr_list_t &rhs) | |
83 | { | |
84 | bool first = false; | |
85 | for (auto &i: rhs) { | |
86 | out << (first ? '[' : ',') << '(' << i.first << ',' << i.second << ')'; | |
87 | first = true; | |
88 | } | |
89 | return out << ']'; | |
90 | } | |
91 | ||
92 | std::ostream &operator<<(std::ostream &lhs, const delta_info_t &rhs) | |
93 | { | |
94 | return lhs << "delta_info_t(" | |
95 | << "type: " << rhs.type | |
96 | << ", paddr: " << rhs.paddr | |
97 | << ", laddr: " << rhs.laddr | |
98 | << ", prev_crc: " << rhs.prev_crc | |
99 | << ", final_crc: " << rhs.final_crc | |
100 | << ", length: " << rhs.length | |
101 | << ", pversion: " << rhs.pversion | |
102 | << ")"; | |
103 | } | |
104 | ||
105 | } |