/
githubmirror
/
lvm2
Обзор
Документация
Войти
/
githubmirror
/
lvm2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
lib/device/persist.h
96 строк
4 KB
David Teigland
persist: warn when host has multiple PR keys registered
27 июл 2026, 21:24
27 июл 2026, 21:24
9d65a10
Код
Авторство
О чём код?
/* * Copyright (C) 2025 Red Hat, Inc. All rights reserved. * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef PERSIST_H #define PERSIST_H #define PR_STR_WE "WE" #define PR_STR_EA "EA" #define PR_STR_WERO "WERO" #define PR_STR_EARO "EARO" #define PR_STR_WEAR "WEAR" #define PR_STR_EAAR "EAAR" #define PR_TYPE_WE 1 #define PR_TYPE_EA 2 #define PR_TYPE_WERO 3 #define PR_TYPE_EARO 4 #define PR_TYPE_WEAR 5 #define PR_TYPE_EAAR 6 #define SETPR_Y 0x00000001 #define SETPR_N 0x00000002 #define SETPR_REQUIRE 0x00000004 #define SETPR_NOREQUIRE 0x00000008 #define SETPR_AUTOSTART 0x00000010 #define SETPR_NOAUTOSTART 0x00000020 #define SETPR_PTPL 0x00000040 #define SETPR_NOPTPL 0x00000080 #define MAX_SETPR_ARGS 8 int persist_check(struct cmd_context *cmd, struct volume_group *vg); int persist_read(struct cmd_context *cmd, struct volume_group *vg); int persist_start(struct cmd_context *cmd, struct volume_group *vg, const char *remkey, const char *update_our_key); int persist_stop(struct cmd_context *cmd, struct volume_group *vg); int persist_stop_devs(struct cmd_context *cmd, struct volume_group *vg, struct dm_list *stop_devs); int persist_finish_before(struct cmd_context *cmd, struct volume_group *vg, struct dm_list *devs, char **key); void persist_finish_after(struct cmd_context *cmd, struct volume_group *vg, struct dm_list *devs, char *key); int persist_remove(struct cmd_context *cmd, struct volume_group *vg, const char *remkey); int persist_clear(struct cmd_context *cmd, struct volume_group *vg); int persist_start_extend(struct cmd_context *cmd, struct volume_group *vg); int persist_vgcreate_begin(struct cmd_context *cmd, const char *vg_name, const char *local_key, int local_host_id, uint32_t set_flags, struct dm_list *devs); int persist_vgcreate_update(struct cmd_context *cmd, struct volume_group *vg, uint32_t set_flags); int persist_upgrade_ex(struct cmd_context *cmd, struct volume_group *vg, uint64_t *our_key_held); int persist_upgrade_stop(struct cmd_context *cmd, struct volume_group *vg, uint64_t our_key_val); int persist_is_started(struct cmd_context *cmd, struct volume_group *vg, int *is_error, int may_fail); int persist_is_started_gen(struct cmd_context *cmd, struct volume_group *vg, int *is_error, int may_fail, uint64_t ls_generation); int persist_is_started_by_other_hosts(struct cmd_context *cmd, struct volume_group *vg, int *is_started_other); int persist_key_update(struct cmd_context *cmd, struct volume_group *vg, uint32_t prev_gen); void persist_key_file_remove_name(struct cmd_context *cmd, const char *vg_name); void persist_key_file_remove(struct cmd_context *cmd, struct volume_group *vg); void persist_key_file_rename(struct volume_group *vg, const char *old_name, const char *new_name); int dev_read_reservation_nvme(struct cmd_context *cmd, struct device *dev, uint64_t *holder_ret, int *prtype_ret); int dev_find_key(struct cmd_context *cmd, struct device *dev, int may_fail, uint64_t find_key, int *found_key, int find_host_id, uint64_t *found_host_id_key, int find_all, int *found_count, uint64_t **found_all); int dev_find_key_nvme(struct cmd_context *cmd, struct device *dev, int may_fail, uint64_t find_key, int *found_key, int find_host_id, uint64_t *found_host_id_key, int find_all, int *found_count, uint64_t **found_all); int vg_is_registered(struct cmd_context *cmd, struct volume_group *vg, uint64_t *our_key_ret, int *partial_ret, uint32_t sanlock_gen); int setpersist_arg_flags(const char *str, uint32_t *flags); int dev_allow_pr(struct cmd_context *cmd, struct device *dev); #endif