2001-10-09 16:05:34 +00:00
/*
2004-03-30 19:35:44 +00:00
* Copyright ( C ) 2001 - 2004 Sistina Software , Inc . All rights reserved .
* Copyright ( C ) 2004 Red Hat , Inc . All rights reserved .
2001-10-09 16:05:34 +00:00
*
2004-03-30 19:35:44 +00: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
* of the GNU General Public License v .2 .
*
* You should have received a copy of the GNU 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
2001-10-09 16:05:34 +00:00
*/
2001-10-16 16:25:28 +00:00
# ifndef LVM_ACTIVATE_H
# define LVM_ACTIVATE_H
2001-10-09 16:05:34 +00:00
2002-11-18 14:01:16 +00:00
# include "metadata.h"
2003-01-08 22:44:07 +00:00
struct lvinfo {
int exists ;
int suspended ;
unsigned int open_count ;
int major ;
int minor ;
int read_only ;
2005-11-08 22:52:26 +00:00
int live_table ;
int inactive_table ;
2003-01-08 22:44:07 +00:00
} ;
2001-11-21 19:32:35 +00:00
2002-11-18 14:01:16 +00:00
void set_activation ( int activation ) ;
2002-12-19 23:25:55 +00:00
int activation ( void ) ;
2002-11-18 14:01:16 +00:00
2002-01-17 16:39:24 +00:00
int driver_version ( char * version , size_t size ) ;
int library_version ( char * version , size_t size ) ;
2004-04-08 15:23:23 +00:00
int lvm1_present ( struct cmd_context * cmd ) ;
2002-01-17 16:39:24 +00:00
2005-11-08 22:52:26 +00:00
int target_present ( const char * target_name , int use_modprobe ) ;
2004-03-26 19:52:09 +00:00
2003-07-04 22:34:56 +00:00
void activation_exit ( void ) ;
2004-03-08 18:54:13 +00:00
int lv_suspend ( struct cmd_context * cmd , const char * lvid_s ) ;
2003-04-24 22:09:13 +00:00
int lv_suspend_if_active ( struct cmd_context * cmd , const char * lvid_s ) ;
2004-03-08 18:54:13 +00:00
int lv_resume ( struct cmd_context * cmd , const char * lvid_s ) ;
2003-04-24 22:09:13 +00:00
int lv_resume_if_active ( struct cmd_context * cmd , const char * lvid_s ) ;
2005-08-14 23:18:28 +00:00
int lv_activate ( struct cmd_context * cmd , const char * lvid_s , int exclusive ) ;
int lv_activate_with_filter ( struct cmd_context * cmd , const char * lvid_s ,
int exclusive ) ;
2003-04-24 22:09:13 +00:00
int lv_deactivate ( struct cmd_context * cmd , const char * lvid_s ) ;
2003-11-12 19:16:48 +00:00
int lv_mknodes ( struct cmd_context * cmd , const struct logical_volume * lv ) ;
2002-02-11 17:42:02 +00:00
/*
* Returns 1 if info structure has been populated , else 0.
*/
2005-10-17 18:00:02 +00:00
int lv_info ( struct cmd_context * cmd , const struct logical_volume * lv , struct lvinfo * info ,
2005-01-12 22:58:21 +00:00
int with_open_count ) ;
2004-03-26 15:35:01 +00:00
int lv_info_by_lvid ( struct cmd_context * cmd , const char * lvid_s ,
2005-01-12 22:58:21 +00:00
struct lvinfo * info , int with_open_count ) ;
2004-03-08 18:54:13 +00:00
/*
* Returns 1 if activate_lv has been set : 1 = activate ; 0 = don ' t .
*/
int lv_activation_filter ( struct cmd_context * cmd , const char * lvid_s ,
2004-03-26 19:52:09 +00:00
int * activate_lv ) ;
2004-03-08 18:54:13 +00:00
2002-05-09 21:17:57 +00:00
/*
* Returns 1 if percent has been set , else 0.
*/
2002-05-22 14:03:45 +00:00
int lv_snapshot_percent ( struct logical_volume * lv , float * percent ) ;
2005-10-17 18:00:02 +00:00
int lv_mirror_percent ( struct cmd_context * cmd , struct logical_volume * lv , int wait , float * percent ,
2003-04-30 15:26:25 +00:00
uint32_t * event_nr ) ;
2001-11-07 15:02:07 +00:00
2001-11-07 11:51:42 +00:00
/*
2002-02-11 15:48:34 +00:00
* Return number of LVs in the VG that are active .
2001-11-07 11:51:42 +00:00
*/
2001-10-16 16:25:28 +00:00
int lvs_in_vg_activated ( struct volume_group * vg ) ;
2001-11-07 15:02:07 +00:00
int lvs_in_vg_opened ( struct volume_group * vg ) ;
2001-10-16 16:25:28 +00:00
2005-10-25 19:08:21 +00:00
/*
* Returns 1 if PV has a dependency tree that uses anything in VG .
*/
int pv_uses_vg ( struct cmd_context * cmd , struct physical_volume * pv ,
struct volume_group * vg ) ;
2001-10-09 16:05:34 +00:00
# endif