]>
Commit | Line | Data |
---|---|---|
2b9cbd53 CB |
1 | /* |
2 | * lxc: linux Container library | |
3 | * | |
4 | * (C) Copyright IBM Corp. 2007, 2008 | |
5 | * | |
6 | * Authors: | |
7 | * Daniel Lezcano <daniel.lezcano at free.fr> | |
8 | * | |
9 | * This library is free software; you can redistribute it and/or | |
10 | * modify it under the terms of the GNU Lesser General Public | |
11 | * License as published by the Free Software Foundation; either | |
12 | * version 2.1 of the License, or (at your option) any later version. | |
13 | * | |
14 | * This library is distributed in the hope that it will be useful, | |
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
17 | * Lesser General Public License for more details. | |
18 | * | |
19 | * You should have received a copy of the GNU Lesser General Public | |
20 | * License along with this library; if not, write to the Free Software | |
21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |
22 | */ | |
23 | ||
24 | #ifndef __LXC_LVM_H | |
25 | #define __LXC_LVM_H | |
26 | ||
27 | #define _GNU_SOURCE | |
d91e13d8 | 28 | #include <stdbool.h> |
2b9cbd53 CB |
29 | #include <stdint.h> |
30 | ||
10bc1861 | 31 | struct lxc_storage; |
2b9cbd53 | 32 | |
2b9cbd53 CB |
33 | struct bdev_specs; |
34 | ||
2b9cbd53 CB |
35 | struct lxc_conf; |
36 | ||
10bc1861 CB |
37 | extern bool lvm_detect(const char *path); |
38 | extern int lvm_mount(struct lxc_storage *bdev); | |
39 | extern int lvm_umount(struct lxc_storage *bdev); | |
40 | extern int lvm_compare_lv_attr(const char *path, int pos, const char expected); | |
41 | extern int lvm_is_thin_volume(const char *path); | |
42 | extern int lvm_is_thin_pool(const char *path); | |
43 | extern int lvm_snapshot(const char *orig, const char *path, uint64_t size); | |
44 | extern int lvm_clonepaths(struct lxc_storage *orig, struct lxc_storage *new, | |
45 | const char *oldname, const char *cname, | |
46 | const char *oldpath, const char *lxcpath, int snap, | |
47 | uint64_t newsize, struct lxc_conf *conf); | |
48 | extern int lvm_destroy(struct lxc_storage *orig); | |
49 | extern int lvm_create(struct lxc_storage *bdev, const char *dest, const char *n, | |
50 | struct bdev_specs *specs); | |
51 | extern bool lvm_create_clone(struct lxc_conf *conf, struct lxc_storage *orig, | |
52 | struct lxc_storage *new, uint64_t newsize); | |
53 | extern bool lvm_create_snapshot(struct lxc_conf *conf, struct lxc_storage *orig, | |
54 | struct lxc_storage *new, uint64_t newsize); | |
2b9cbd53 CB |
55 | |
56 | #endif /* __LXC_LVM_H */ |