mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-03 05:18:29 +03:00
5dbc97a563
Should be no functional changes. lvconvert.c type conversions for raid/mirror/linear/striped lvconvert_pool.c thin/cache/pool creation and utilities lvconvert_snapshot.c cow snapshot creation and utilties lvconvert_other.c generic commands that are routed to a specific command in another file once the LV type is known. lvconvert_poll.c polling utilities
72 lines
2.2 KiB
C
72 lines
2.2 KiB
C
/*
|
|
* Copyright (C) 2015 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 _LVM_LVCONVERT_H
|
|
#define _LVM_LVCONVERT_H
|
|
|
|
#include "polldaemon.h"
|
|
|
|
struct cmd_context;
|
|
struct logical_volume;
|
|
struct volume_group;
|
|
|
|
/*
|
|
* Data/results accumulated during processing.
|
|
*/
|
|
struct lvconvert_result {
|
|
int need_polling;
|
|
struct dm_list poll_idls;
|
|
};
|
|
|
|
struct convert_poll_id_list {
|
|
struct dm_list list;
|
|
struct poll_operation_id *id;
|
|
unsigned is_merging_origin:1;
|
|
unsigned is_merging_origin_thin:1;
|
|
};
|
|
|
|
int lvconvert_poll_by_id(struct cmd_context *cmd, struct poll_operation_id *id,
|
|
unsigned background, int is_merging_origin, int is_merging_origin_thin);
|
|
struct convert_poll_id_list *convert_poll_id_list_create(struct cmd_context *cmd,
|
|
const struct logical_volume *lv);
|
|
|
|
int lvconvert_mirror_finish(struct cmd_context *cmd,
|
|
struct volume_group *vg,
|
|
struct logical_volume *lv,
|
|
struct dm_list *lvs_changed __attribute__((unused)));
|
|
|
|
int swap_lv_identifiers(struct cmd_context *cmd,
|
|
struct logical_volume *a, struct logical_volume *b);
|
|
|
|
int thin_merge_finish(struct cmd_context *cmd,
|
|
struct logical_volume *merge_lv,
|
|
struct logical_volume *lv);
|
|
|
|
int lvconvert_merge_finish(struct cmd_context *cmd,
|
|
struct volume_group *vg,
|
|
struct logical_volume *lv,
|
|
struct dm_list *lvs_changed __attribute__((unused)));
|
|
|
|
progress_t poll_merge_progress(struct cmd_context *cmd,
|
|
struct logical_volume *lv,
|
|
const char *name __attribute__((unused)),
|
|
struct daemon_parms *parms);
|
|
|
|
progress_t poll_thin_merge_progress(struct cmd_context *cmd,
|
|
struct logical_volume *lv,
|
|
const char *name __attribute__((unused)),
|
|
struct daemon_parms *parms);
|
|
|
|
#endif /* _LVM_LVCONVERT_H */
|