]> git.proxmox.com Git - ceph.git/blob - ceph/src/os/filestore/ZFSFileStoreBackend.h
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / os / filestore / ZFSFileStoreBackend.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_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();
21 int detect_features();
22 bool can_checkpoint();
23 int create_current();
24 int list_checkpoints(list<string>& ls);
25 int create_checkpoint(const string& name, uint64_t *cid);
26 int rollback_to(const string& name);
27 int destroy_checkpoint(const string& name);
28 };
29 #endif
30 #endif