2
2
* Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
3
* Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved.
3
* Copyright (C) 2004-2012 Red Hat, Inc. All rights reserved.
5
5
* This file is part of LVM2.
52
56
int target_version(const char *target_name, uint32_t *maj,
53
57
uint32_t *min, uint32_t *patchlevel);
58
int lvm_dm_prefix_check(int major, int minor, const char *prefix);
54
59
int list_segment_modules(struct dm_pool *mem, const struct lv_segment *seg,
55
60
struct dm_list *modules);
56
61
int list_lv_modules(struct dm_pool *mem, const struct logical_volume *lv,
60
65
void activation_exit(void);
62
67
/* int lv_suspend(struct cmd_context *cmd, const char *lvid_s); */
63
int lv_suspend_if_active(struct cmd_context *cmd, const char *lvid_s, unsigned origin_only);
68
int lv_suspend_if_active(struct cmd_context *cmd, const char *lvid_s, unsigned origin_only, unsigned exclusive);
64
69
int lv_resume(struct cmd_context *cmd, const char *lvid_s, unsigned origin_only);
65
70
int lv_resume_if_active(struct cmd_context *cmd, const char *lvid_s,
66
unsigned origin_only, unsigned exclusive);
71
unsigned origin_only, unsigned exclusive, unsigned revert);
67
72
int lv_activate(struct cmd_context *cmd, const char *lvid_s, int exclusive);
68
73
int lv_activate_with_filter(struct cmd_context *cmd, const char *lvid_s,
75
80
* Returns 1 if info structure has been populated, else 0.
77
int lv_info(struct cmd_context *cmd, const struct logical_volume *lv,
78
unsigned origin_only, struct lvinfo *info,
79
int with_open_count, int with_read_ahead);
80
int lv_info_by_lvid(struct cmd_context *cmd, const char *lvid_s, unsigned origin_only,
82
int lv_info(struct cmd_context *cmd, const struct logical_volume *lv, int use_layer,
83
struct lvinfo *info, int with_open_count, int with_read_ahead);
84
int lv_info_by_lvid(struct cmd_context *cmd, const char *lvid_s, int use_layer,
81
85
struct lvinfo *info, int with_open_count, int with_read_ahead);
87
int lv_check_not_in_use(struct cmd_context *cmd, struct logical_volume *lv,
84
91
* Returns 1 if activate_lv has been set: 1 = activate; 0 = don't.
94
101
int lv_mirror_percent(struct cmd_context *cmd, const struct logical_volume *lv,
95
102
int wait, percent_t *percent, uint32_t *event_nr);
96
103
int lv_raid_percent(const struct logical_volume *lv, percent_t *percent);
104
int lv_thin_pool_percent(const struct logical_volume *lv, int metadata,
106
int lv_thin_percent(const struct logical_volume *lv, int mapped,
108
int lv_thin_pool_transaction_id(const struct logical_volume *lv,
109
uint64_t *transaction_id);
99
112
* Return number of LVs in the VG that are active.
101
int lvs_in_vg_activated(struct volume_group *vg);
114
int lvs_in_vg_activated(const struct volume_group *vg);
102
115
int lvs_in_vg_opened(const struct volume_group *vg);
104
int lv_is_active(struct logical_volume *lv);
105
int lv_is_active_but_not_locally(struct logical_volume *lv);
106
int lv_is_active_exclusive_locally(struct logical_volume *lv);
107
int lv_is_active_exclusive_remotely(struct logical_volume *lv);
117
int lv_is_active(const struct logical_volume *lv);
118
int lv_is_active_but_not_locally(const struct logical_volume *lv);
119
int lv_is_active_exclusive(const struct logical_volume *lv);
120
int lv_is_active_exclusive_locally(const struct logical_volume *lv);
121
int lv_is_active_exclusive_remotely(const struct logical_volume *lv);
109
123
int lv_has_target_type(struct dm_pool *mem, struct logical_volume *lv,
110
124
const char *layer, const char *target_type);
121
135
int evmask __attribute__((unused)), int set, int timeout);
138
int add_linear_area_to_dtree(struct dm_tree_node *node, uint64_t size,
139
uint32_t extent_size, int use_linear_target,
140
const char *vgname, const char *lvname);
125
143
* Returns 1 if PV has a dependency tree that uses anything in VG.