2001-10-03 12:34:08 +00:00
/*
2008-01-30 14:00:02 +00:00
* Copyright ( C ) 2001 - 2004 Sistina Software , Inc . All rights reserved .
2014-10-04 17:05:29 +02:00
* Copyright ( C ) 2004 - 2014 Red Hat , Inc . All rights reserved .
2001-10-03 12:34:08 +00:00
*
2004-03-30 19:35:44 +00:00
* This file is part of LVM2 .
2001-10-03 12:34:08 +00:00
*
2004-03-30 19:35:44 +00:00
* This copyrighted material is made available to anyone wishing to use ,
* modify , copy , or redistribute it subject to the terms and conditions
2007-08-20 20:55:30 +00:00
* of the GNU Lesser General Public License v .2 .1 .
2001-10-03 12:34:08 +00:00
*
2007-08-20 20:55:30 +00:00
* You should have received a copy of the GNU Lesser General Public License
2004-03-30 19:35:44 +00:00
* along with this program ; if not , write to the Free Software Foundation ,
2016-01-21 11:49:46 +01:00
* Inc . , 51 Franklin Street , Fifth Floor , Boston , MA 02110 - 1301 USA
2001-10-03 12:34:08 +00:00
*/
# include "tools.h"
2002-11-18 14:04:08 +00:00
int lvremove ( struct cmd_context * cmd , int argc , char * * argv )
{
2024-05-22 15:32:17 -05:00
struct processing_handle * handle = NULL ;
2024-05-27 18:23:26 +02:00
struct lvremove_params lp = {
. removed_uuids = DM_LIST_HEAD_INIT ( lp . removed_uuids ) ,
} ;
2024-05-22 15:32:17 -05:00
int ret ;
2014-12-12 09:34:50 +01:00
if ( ! argc & & ! arg_is_set ( cmd , select_ARG ) ) {
log_error ( " Please enter one or more logical volume paths "
2015-03-04 14:40:04 +01:00
" or use --select for selection. " ) ;
2002-11-18 14:04:08 +00:00
return EINVALID_CMD_LINE ;
}
2008-09-19 06:42:00 +00:00
cmd - > handles_missing_pvs = 1 ;
2016-03-01 15:27:08 +01:00
cmd - > include_historical_lvs = 1 ;
2008-09-19 06:42:00 +00:00
2024-05-22 15:32:17 -05:00
if ( ! ( handle = init_processing_handle ( cmd , NULL ) ) ) {
log_error ( " Failed to initialize processing handle. " ) ;
return ECMD_FAILED ;
}
handle - > custom_handle = & lp ;
ret = process_each_lv ( cmd , argc , argv , NULL , NULL , READ_FOR_UPDATE , handle ,
2016-11-29 12:00:15 -06:00
NULL , & lvremove_single ) ;
2024-05-22 15:32:17 -05:00
if ( cmd - > scan_lvs & & cmd - > enable_devices_file )
device_id_lvremove ( cmd , & lp . removed_uuids ) ;
destroy_processing_handle ( cmd , handle ) ;
return ret ;
2002-11-18 14:04:08 +00:00
}