]>
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 | #ifndef CEPH_ZFSFILESTOREBACKEND_H | |
5 | #define CEPH_ZFSFILESTOREBACKEND_H | |
6 | ||
7 | #ifdef HAVE_LIBZFS | |
8 | #include "GenericFileStoreBackend.h" | |
9 | #include "os/fs/ZFS.h" | |
10 | ||
11 | class ZFSFileStoreBackend : public GenericFileStoreBackend { | |
12 | private: | |
13 | ZFS zfs; | |
14 | ZFS::Handle *base_zh; | |
15 | ZFS::Handle *current_zh; | |
16 | bool m_filestore_zfs_snap; | |
17 | int update_current_zh(); | |
18 | public: | |
19 | explicit ZFSFileStoreBackend(FileStore *fs); | |
20 | ~ZFSFileStoreBackend(); | |
31f18b77 FG |
21 | const char *get_name() override { |
22 | return "zfs"; | |
23 | } | |
7c673cae FG |
24 | int detect_features(); |
25 | bool can_checkpoint(); | |
26 | int create_current(); | |
27 | int list_checkpoints(list<string>& ls); | |
28 | int create_checkpoint(const string& name, uint64_t *cid); | |
29 | int rollback_to(const string& name); | |
30 | int destroy_checkpoint(const string& name); | |
31 | }; | |
32 | #endif | |
33 | #endif |