mirror of
git://sourceware.org/git/lvm2.git
synced 2025-03-10 16:58:47 +03:00
Add text format specific 'rlocn' ignore flag and access functions.
Adding a flag to the 'rlocn' structure in the mda header of the text format allows us to flip a bit to ignore an area on disk that stores the metadata via the text format specific mda_header. This patch defines the flag and access functions to manage the flag. Other patches will manage the ignore on a format-independent basis, by using a flag in the metadata_area structure. Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
This commit is contained in:
parent
7c604e7649
commit
d144d5eeb7
@ -66,6 +66,19 @@ struct text_context {
|
||||
char *desc; /* Description placed inside file */
|
||||
};
|
||||
|
||||
int rlocn_is_ignored(const struct raw_locn *rlocn)
|
||||
{
|
||||
return (rlocn->flags & RAW_LOCN_IGNORED ? 1 : 0);
|
||||
}
|
||||
|
||||
void rlocn_set_ignored(struct raw_locn *rlocn, int value)
|
||||
{
|
||||
if (value)
|
||||
rlocn->flags |= RAW_LOCN_IGNORED;
|
||||
else
|
||||
rlocn->flags &= ~RAW_LOCN_IGNORED;
|
||||
}
|
||||
|
||||
/*
|
||||
* NOTE: Currently there can be only one vg per text file.
|
||||
*/
|
||||
|
@ -46,6 +46,13 @@ struct pv_header {
|
||||
struct disk_locn disk_areas_xl[0]; /* Two lists */
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/*
|
||||
* Ignore this raw location. This allows us to
|
||||
* ignored metadata areas easily, and thus balance
|
||||
* metadata across VGs with many PVs.
|
||||
*/
|
||||
#define RAW_LOCN_IGNORED 0x00000001
|
||||
|
||||
/* On disk */
|
||||
struct raw_locn {
|
||||
uint64_t offset; /* Offset in bytes to start sector */
|
||||
@ -54,6 +61,9 @@ struct raw_locn {
|
||||
uint32_t flags;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
int rlocn_is_ignored(const struct raw_locn *rlocn);
|
||||
void rlocn_set_ignored(struct raw_locn *rlocn, int value);
|
||||
|
||||
/* On disk */
|
||||
/* Structure size limited to one sector */
|
||||
struct mda_header {
|
||||
|
Loading…
x
Reference in New Issue
Block a user