mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-22 17:35:59 +03:00
c805fa7c40
When lvmetad_pvscan_vg() reads VG metadata from each PV, it compares it to the last one to verify it matches. If the VG metadata does not match on the PVs, an error is printed and it fails to read the VG. In this error case, use log_debug to show the differences between the two unmatching copies of the metadata.
70 lines
2.3 KiB
C
70 lines
2.3 KiB
C
/*
|
|
* Copyright (C) 2011-2012 Red Hat, Inc.
|
|
*
|
|
* This file is part of LVM2.
|
|
*
|
|
* This copyrighted material is made available to anyone wishing to use,
|
|
* modify, copy, or redistribute it subject to the terms and conditions
|
|
* of the GNU Lesser General Public License v.2.1.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* along with this program; if not, write to the Free Software Foundation,
|
|
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*/
|
|
|
|
#ifndef _LVM_DAEMON_CONFIG_UTIL_H
|
|
#define _LVM_DAEMON_CONFIG_UTIL_H
|
|
|
|
struct buffer {
|
|
int allocated;
|
|
int used;
|
|
char *mem;
|
|
};
|
|
|
|
int buffer_append_vf(struct buffer *buf, va_list ap);
|
|
int buffer_append_f(struct buffer *buf, ...);
|
|
int buffer_append(struct buffer *buf, const char *string);
|
|
void buffer_init(struct buffer *buf);
|
|
void buffer_destroy(struct buffer *buf);
|
|
int buffer_realloc(struct buffer *buf, int required);
|
|
|
|
int buffer_line(const char *line, void *baton);
|
|
|
|
int set_flag(struct dm_config_tree *cft, struct dm_config_node *parent,
|
|
const char *field, const char *flag, int want);
|
|
|
|
void chain_node(struct dm_config_node *cn,
|
|
struct dm_config_node *parent,
|
|
struct dm_config_node *pre_sib);
|
|
|
|
struct dm_config_node *make_config_node(struct dm_config_tree *cft,
|
|
const char *key,
|
|
struct dm_config_node *parent,
|
|
struct dm_config_node *pre_sib);
|
|
|
|
int compare_value(struct dm_config_value *a, struct dm_config_value *b);
|
|
int compare_config(struct dm_config_node *a, struct dm_config_node *b);
|
|
|
|
struct dm_config_node *make_text_node(struct dm_config_tree *cft,
|
|
const char *key,
|
|
const char *value,
|
|
struct dm_config_node *parent,
|
|
struct dm_config_node *pre_sib);
|
|
|
|
struct dm_config_node *make_int_node(struct dm_config_tree *cft,
|
|
const char *key,
|
|
int64_t value,
|
|
struct dm_config_node *parent,
|
|
struct dm_config_node *pre_sib);
|
|
|
|
struct dm_config_node *config_make_nodes_v(struct dm_config_tree *cft,
|
|
struct dm_config_node *parent,
|
|
struct dm_config_node *pre_sib,
|
|
va_list ap);
|
|
struct dm_config_node *config_make_nodes(struct dm_config_tree *cft,
|
|
struct dm_config_node *parent,
|
|
struct dm_config_node *pre_sib,
|
|
...);
|
|
|
|
#endif /* _LVM_DAEMON_CONFIG_UTIL_H */
|