mirror of
git://sourceware.org/git/lvm2.git
synced 2025-03-11 20:58:50 +03:00
40 lines
691 B
C
40 lines
691 B
C
/*
|
|
* Copyright (C) 2001 Sistina Software
|
|
*
|
|
* This file is released under the LGPL.
|
|
*/
|
|
|
|
#ifndef _LVM_PV_MAP_H
|
|
#define _LVM_PV_MAP_H
|
|
|
|
#include "metadata.h"
|
|
#include "bitset.h"
|
|
#include "pool.h"
|
|
|
|
/*
|
|
* The in core rep. only stores a mapping from
|
|
* logical extents to physical extents against an
|
|
* lv. Sometimes, when allocating a new lv for
|
|
* instance, it is useful to have the inverse
|
|
* mapping available.
|
|
*/
|
|
|
|
struct pv_area {
|
|
uint32_t start;
|
|
uint32_t count;
|
|
|
|
struct list list;
|
|
};
|
|
|
|
struct pv_map {
|
|
struct physical_volume *pv;
|
|
bitset_t allocated_extents;
|
|
struct list areas;
|
|
|
|
struct list list;
|
|
};
|
|
|
|
struct list *create_pv_maps(struct pool *mem, struct volume_group *vg);
|
|
|
|
#endif
|