186d7f5d3SJohn Marino /* $NetBSD: archiver.h,v 1.1.1.3 2009/12/02 00:26:29 haad Exp $ */ 286d7f5d3SJohn Marino 386d7f5d3SJohn Marino /* 486d7f5d3SJohn Marino * Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved. 586d7f5d3SJohn Marino * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. 686d7f5d3SJohn Marino * 786d7f5d3SJohn Marino * This file is part of LVM2. 886d7f5d3SJohn Marino * 986d7f5d3SJohn Marino * This copyrighted material is made available to anyone wishing to use, 1086d7f5d3SJohn Marino * modify, copy, or redistribute it subject to the terms and conditions 1186d7f5d3SJohn Marino * of the GNU Lesser General Public License v.2.1. 1286d7f5d3SJohn Marino * 1386d7f5d3SJohn Marino * You should have received a copy of the GNU Lesser General Public License 1486d7f5d3SJohn Marino * along with this program; if not, write to the Free Software Foundation, 1586d7f5d3SJohn Marino * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 1686d7f5d3SJohn Marino */ 1786d7f5d3SJohn Marino 1886d7f5d3SJohn Marino #ifndef _LVM_TOOL_ARCHIVE_H 1986d7f5d3SJohn Marino #define _LVM_TOOL_ARCHIVE_H 2086d7f5d3SJohn Marino 2186d7f5d3SJohn Marino #include "metadata-exported.h" 2286d7f5d3SJohn Marino 2386d7f5d3SJohn Marino /* 2486d7f5d3SJohn Marino * There are two operations that come under the general area of 2586d7f5d3SJohn Marino * backups. 'Archiving' occurs just before a volume group 2686d7f5d3SJohn Marino * configuration is changed. The user may configure when 2786d7f5d3SJohn Marino * archived files are expired. Typically archives will be stored 2886d7f5d3SJohn Marino * in /etc/lvm/archive. 2986d7f5d3SJohn Marino * 3086d7f5d3SJohn Marino * A 'backup' is a redundant copy of the *current* volume group 3186d7f5d3SJohn Marino * configuration. As such it should be taken just after the 3286d7f5d3SJohn Marino * volume group is changed. Only 1 backup file will exist. 3386d7f5d3SJohn Marino * Typically backups will be stored in /etc/lvm/backups. 3486d7f5d3SJohn Marino */ 3586d7f5d3SJohn Marino 3686d7f5d3SJohn Marino int archive_init(struct cmd_context *cmd, const char *dir, 3786d7f5d3SJohn Marino unsigned int keep_days, unsigned int keep_min, 3886d7f5d3SJohn Marino int enabled); 3986d7f5d3SJohn Marino void archive_exit(struct cmd_context *cmd); 4086d7f5d3SJohn Marino 4186d7f5d3SJohn Marino void archive_enable(struct cmd_context *cmd, int flag); 4286d7f5d3SJohn Marino int archive(struct volume_group *vg); 4386d7f5d3SJohn Marino int archive_display(struct cmd_context *cmd, const char *vg_name); 4486d7f5d3SJohn Marino int archive_display_file(struct cmd_context *cmd, const char *file); 4586d7f5d3SJohn Marino 4686d7f5d3SJohn Marino int backup_init(struct cmd_context *cmd, const char *dir, int enabled); 4786d7f5d3SJohn Marino void backup_exit(struct cmd_context *cmd); 4886d7f5d3SJohn Marino 4986d7f5d3SJohn Marino void backup_enable(struct cmd_context *cmd, int flag); 5086d7f5d3SJohn Marino int backup(struct volume_group *vg); 5186d7f5d3SJohn Marino int backup_locally(struct volume_group *vg); 5286d7f5d3SJohn Marino int backup_remove(struct cmd_context *cmd, const char *vg_name); 5386d7f5d3SJohn Marino 5486d7f5d3SJohn Marino struct volume_group *backup_read_vg(struct cmd_context *cmd, 5586d7f5d3SJohn Marino const char *vg_name, const char *file); 5686d7f5d3SJohn Marino int backup_restore_vg(struct cmd_context *cmd, struct volume_group *vg); 5786d7f5d3SJohn Marino int backup_restore_from_file(struct cmd_context *cmd, const char *vg_name, 5886d7f5d3SJohn Marino const char *file); 5986d7f5d3SJohn Marino int backup_restore(struct cmd_context *cmd, const char *vg_name); 6086d7f5d3SJohn Marino 6186d7f5d3SJohn Marino int backup_to_file(const char *file, const char *desc, struct volume_group *vg); 6286d7f5d3SJohn Marino 6386d7f5d3SJohn Marino void check_current_backup(struct volume_group *vg); 6486d7f5d3SJohn Marino 6586d7f5d3SJohn Marino #endif 66