@top_srcdir@/lib/locking/locking.h
@top_srcdir@/lib/log/log.h
@top_srcdir@/lib/log/lvm-logging.h
+@top_srcdir@/lib/metadata/lv.h
@top_srcdir@/lib/metadata/lv_alloc.h
@top_srcdir@/lib/metadata/metadata.h
@top_srcdir@/lib/metadata/metadata-exported.h
#include "uuid.h"
#include "pv.h"
#include "vg.h"
+#include "lv.h"
#define MAX_STRIPES 128U
#define SECTOR_SHIFT 9L
#define seg_pv(seg, s) (seg)->areas[(s)].u.pv.pvseg->pv
#define seg_lv(seg, s) (seg)->areas[(s)].u.lv.lv
-struct logical_volume {
- union lvid lvid;
- char *name;
-
- struct volume_group *vg;
-
- uint64_t status;
- alloc_policy_t alloc;
- uint32_t read_ahead;
- int32_t major;
- int32_t minor;
-
- uint64_t size; /* Sectors */
- uint32_t le_count;
-
- uint32_t origin_count;
- struct dm_list snapshot_segs;
- struct lv_segment *snapshot;
-
- struct replicator_device *rdevice;/* For replicator-devs, rimages, slogs - reference to rdevice */
- struct dm_list rsites; /* For replicators - all sites */
-
- struct dm_list segments;
- struct dm_list tags;
- struct dm_list segs_using_this_lv;
-};
-
struct pe_range {
struct dm_list list;
uint32_t start; /* PEs */
*/
int pv_change_metadataignore(struct physical_volume *pv, uint32_t mda_ignore);
-uint64_t lv_size(const struct logical_volume *lv);
int vg_check_write_mode(struct volume_group *vg);
#define vg_is_clustered(vg) (vg_status((vg)) & CLUSTERED)
return 1;
}
-uint64_t lv_size(const struct logical_volume *lv)
-{
- return lv->size;
-}
-
/**
* pv_by_path - Given a device path return a PV handle if it is a PV
* @cmd - handle to the LVM command instance