2001-11-21 12:20:05 +03:00
/*
2004-03-30 23:35:44 +04:00
* Copyright ( C ) 2001 - 2004 Sistina Software , Inc . All rights reserved .
2007-08-21 00:55:30 +04:00
* Copyright ( C ) 2004 - 2007 Red Hat , Inc . All rights reserved .
2001-11-21 12:20:05 +03:00
*
2004-03-30 23:35:44 +04:00
* 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
2007-08-21 00:55:30 +04:00
* of the GNU Lesser General Public License v .2 .1 .
2004-03-30 23:35:44 +04:00
*
2007-08-21 00:55:30 +04:00
* You should have received a copy of the GNU Lesser General Public License
2004-03-30 23:35:44 +04:00
* along with this program ; if not , write to the Free Software Foundation ,
* Inc . , 59 Temple Place , Suite 330 , Boston , MA 02111 - 1307 USA
2001-11-21 12:20:05 +03:00
*/
# ifndef _LVM_FORMAT_TEXT_H
# define _LVM_FORMAT_TEXT_H
2001-12-20 14:52:54 +03:00
# include "lvm-types.h"
# include "metadata.h"
2002-11-18 17:04:08 +03:00
2008-02-06 18:47:28 +03:00
# define FMT_TEXT_NAME "lvm2"
# define FMT_TEXT_ALIAS "text"
# define FMT_TEXT_ORPHAN_VG_NAME ORPHAN_VG_NAME(FMT_TEXT_NAME)
2002-01-07 12:05:31 +03:00
/*
2002-02-08 14:58:18 +03:00
* Archives a vg config . ' retain_days ' is the minimum number of
* days that an archive file must be held for . ' min_archives ' is
* the minimum number of archives required to be kept for each
* volume group .
2002-01-07 12:05:31 +03:00
*/
2002-02-08 14:58:18 +03:00
int archive_vg ( struct volume_group * vg ,
const char * dir ,
2002-11-18 17:04:08 +03:00
const char * desc , uint32_t retain_days , uint32_t min_archive ) ;
2001-12-17 22:46:10 +03:00
2002-02-11 14:43:17 +03:00
/*
* Displays a list of vg backups in a particular archive directory .
*/
2003-09-15 19:03:22 +04:00
int archive_list ( struct cmd_context * cmd , const char * dir , const char * vgname ) ;
2007-06-09 02:38:48 +04:00
int archive_list_file ( struct cmd_context * cmd , const char * file ) ;
2003-09-15 19:03:22 +04:00
int backup_list ( struct cmd_context * cmd , const char * dir , const char * vgname ) ;
2001-11-21 12:20:05 +03:00
2002-01-07 12:05:31 +03:00
/*
* The text format can read and write a volume_group to a file .
*/
2002-04-24 22:20:51 +04:00
struct format_type * create_text_format ( struct cmd_context * cmd ) ;
2002-11-18 17:04:08 +03:00
void * create_text_context ( struct cmd_context * cmd , const char * path ,
2002-04-24 22:20:51 +04:00
const char * desc ) ;
2002-01-07 12:05:31 +03:00
2002-12-20 02:25:55 +03:00
struct labeller * text_labeller_create ( const struct format_type * fmt ) ;
2002-11-18 17:04:08 +03:00
int pvhdr_read ( struct device * dev , char * buf ) ;
2008-11-04 01:14:30 +03:00
int add_da ( struct dm_pool * mem , struct dm_list * das ,
2002-11-18 17:04:08 +03:00
uint64_t start , uint64_t size ) ;
2008-11-04 01:14:30 +03:00
void del_das ( struct dm_list * das ) ;
2002-11-18 17:04:08 +03:00
2008-11-04 01:14:30 +03:00
int add_mda ( const struct format_type * fmt , struct dm_pool * mem , struct dm_list * mdas ,
2002-11-18 17:04:08 +03:00
struct device * dev , uint64_t start , uint64_t size ) ;
2008-11-04 01:14:30 +03:00
void del_mdas ( struct dm_list * mdas ) ;
2002-11-18 17:04:08 +03:00
2006-04-11 17:55:59 +04:00
const char * vgname_from_mda ( const struct format_type * fmt ,
2006-04-11 21:42:15 +04:00
struct device_area * dev_area , struct id * vgid ,
2007-11-05 20:17:55 +03:00
uint32_t * vgstatus , char * * creation_host ,
uint64_t * mda_free_sectors ) ;
2002-11-18 17:04:08 +03:00
2001-11-21 12:20:05 +03:00
# endif