]>
Commit | Line | Data |
---|---|---|
f67539c2 TL |
1 | #pragma once |
2 | ||
3 | #include "messages/MOSDOp.h" | |
4 | #include "osd/osd_types.h" | |
5 | #include "crimson/common/type_helpers.h" | |
6 | ||
7 | // The fields in this struct are parameters that may be needed in multiple | |
8 | // level of processing. I inclosed all those parameters in this struct to | |
9 | // avoid passing each of them as a method parameter. | |
10 | struct osd_op_params_t { | |
11 | Ref<MOSDOp> req; | |
12 | eversion_t at_version; | |
13 | eversion_t pg_trim_to; | |
14 | eversion_t min_last_complete_ondisk; | |
15 | eversion_t last_complete; | |
16 | version_t user_at_version = 0; | |
17 | bool user_modify = false; | |
18 | ObjectCleanRegions clean_regions; | |
19 | ||
20 | osd_op_params_t() = default; | |
21 | osd_op_params_t(Ref<MOSDOp>&& req) : req(req) {} | |
22 | osd_op_params_t(Ref<MOSDOp>&& req, eversion_t at_version, eversion_t pg_trim_to, | |
23 | eversion_t mlcod, eversion_t lc, version_t user_at_version) : | |
24 | req(req), at_version(at_version), pg_trim_to(pg_trim_to), | |
25 | min_last_complete_ondisk(mlcod), last_complete(lc), | |
26 | user_at_version(user_at_version) {} | |
27 | }; |