2001-10-09 20:05:34 +04:00
/*
* Copyright ( C ) 2001 Sistina Software ( UK ) Limited .
*
2002-02-11 18:48:34 +03:00
* This file is released under the LGPL .
2001-10-09 20:05:34 +04:00
*/
2001-10-16 20:25:28 +04:00
# ifndef LVM_ACTIVATE_H
# define LVM_ACTIVATE_H
2001-10-09 20:05:34 +04:00
2001-11-21 22:32:35 +03:00
# include <libdevmapper.h>
2002-01-17 19:39:24 +03:00
int driver_version ( char * version , size_t size ) ;
int library_version ( char * version , size_t size ) ;
2002-02-11 18:48:34 +03:00
/*
2002-02-12 14:15:45 +03:00
* Status functions . Return count ( 0 upwards ) or else - 1 on
* error .
2002-02-11 18:48:34 +03:00
*/
2001-11-08 19:15:58 +03:00
int lv_active ( struct logical_volume * lv ) ;
2002-01-08 01:28:36 +03:00
int lv_suspended ( struct logical_volume * lv ) ;
2001-11-08 19:15:58 +03:00
int lv_open_count ( struct logical_volume * lv ) ;
2002-02-11 20:42:02 +03:00
/*
* Returns 1 if info structure has been populated , else 0.
*/
2001-11-21 22:32:35 +03:00
int lv_info ( struct logical_volume * lv , struct dm_info * info ) ;
2001-11-07 18:02:07 +03:00
2002-02-11 18:48:34 +03:00
/*
* Activation proper .
*/
2001-10-31 20:59:52 +03:00
int lv_activate ( struct logical_volume * lv ) ;
2001-11-07 14:51:42 +03:00
int lv_reactivate ( struct logical_volume * lv ) ;
2001-10-31 20:59:52 +03:00
int lv_deactivate ( struct logical_volume * lv ) ;
2002-01-11 02:21:07 +03:00
int lv_suspend ( struct logical_volume * lv ) ;
2002-02-11 18:48:34 +03:00
int lv_rename ( const char * old_name , struct logical_volume * lv ) ;
2001-10-09 20:05:34 +04:00
2002-02-25 17:46:57 +03:00
2002-02-25 15:56:16 +03:00
/*
2002-02-25 17:46:57 +03:00
* These should eventually replace some of the above and maybe
* use config file to determine whether or not to activate
2002-02-25 15:56:16 +03:00
*/
2002-03-05 23:03:09 +03:00
int lv_suspend_if_active ( struct cmd_context * cmd , const char * lvid_s ) ;
int lv_resume_if_active ( struct cmd_context * cmd , const char * lvid_s ) ;
int lv_activate_if_inactive ( struct cmd_context * cmd , const char * lvid_s ) ;
int lv_deactivate_if_active ( struct cmd_context * cmd , const char * lvid_s ) ;
2002-02-25 15:56:16 +03:00
2002-02-25 17:46:57 +03:00
2002-02-18 18:52:48 +03:00
/*
2002-02-25 17:46:57 +03:00
* FIXME :
* I don ' t like the * lvs_in_vg * function names .
2002-02-18 18:52:48 +03:00
*/
2001-11-07 14:51:42 +03:00
/*
2002-02-11 18:48:34 +03:00
* Return number of LVs in the VG that are active .
2001-11-07 14:51:42 +03:00
*/
2001-10-16 20:25:28 +04:00
int lvs_in_vg_activated ( struct volume_group * vg ) ;
2001-11-07 18:02:07 +03:00
int lvs_in_vg_opened ( struct volume_group * vg ) ;
2001-10-16 20:25:28 +04:00
2002-02-26 19:08:22 +03:00
int lv_setup_cow_store ( struct logical_volume * lv ) ;
2001-10-09 20:05:34 +04:00
# endif