]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- |
2 | // vim: ts=8 sw=2 smarttab | |
3 | /* | |
4 | * Ceph - scalable distributed file system | |
5 | * | |
6 | * Copyright (C) 2004-2006 Sage Weil <sage@newdream.net> | |
7 | * | |
8 | * This is free software; you can redistribute it and/or | |
9 | * modify it under the terms of the GNU Lesser General Public | |
10 | * License version 2.1, as published by the Free Software | |
11 | * Foundation. See file COPYING. | |
12 | * | |
13 | */ | |
14 | ||
15 | #ifndef CEPH_EIMPORTSTART_H | |
16 | #define CEPH_EIMPORTSTART_H | |
17 | ||
18 | #include "common/config.h" | |
19 | #include "include/types.h" | |
20 | ||
21 | class MDLog; | |
22 | class MDSRank; | |
23 | ||
24 | #include "EMetaBlob.h" | |
25 | #include "../LogEvent.h" | |
26 | ||
27 | class EImportStart : public LogEvent { | |
28 | protected: | |
29 | dirfrag_t base; | |
30 | vector<dirfrag_t> bounds; | |
31f18b77 | 31 | mds_rank_t from; |
7c673cae | 32 | |
31f18b77 | 33 | public: |
7c673cae FG |
34 | EMetaBlob metablob; |
35 | bufferlist client_map; // encoded map<__u32,entity_inst_t> | |
c07f9fc5 | 36 | version_t cmapv{0}; |
7c673cae | 37 | |
11fdf7f2 | 38 | EImportStart(MDLog *log, dirfrag_t di, const vector<dirfrag_t>& b, mds_rank_t f) : |
31f18b77 | 39 | LogEvent(EVENT_IMPORTSTART), |
11fdf7f2 | 40 | base(di), bounds(b), from(f) { } |
31f18b77 FG |
41 | EImportStart() : |
42 | LogEvent(EVENT_IMPORTSTART), from(MDS_RANK_NONE) { } | |
7c673cae FG |
43 | |
44 | void print(ostream& out) const override { | |
31f18b77 | 45 | out << "EImportStart " << base << " from mds." << from << " " << metablob; |
7c673cae FG |
46 | } |
47 | ||
48 | EMetaBlob *get_metablob() override { return &metablob; } | |
49 | ||
50 | void encode(bufferlist &bl, uint64_t features) const override; | |
11fdf7f2 | 51 | void decode(bufferlist::const_iterator &bl) override; |
7c673cae FG |
52 | void dump(Formatter *f) const override; |
53 | static void generate_test_instances(list<EImportStart*>& ls); | |
54 | ||
55 | void update_segment() override; | |
56 | void replay(MDSRank *mds) override; | |
57 | ||
58 | }; | |
59 | WRITE_CLASS_ENCODER_FEATURES(EImportStart) | |
60 | ||
61 | #endif |