2001-10-03 16:34:08 +04:00
/*
2008-01-30 17:00:02 +03:00
* Copyright ( C ) 2001 - 2004 Sistina Software , Inc . All rights reserved .
2014-10-04 19:05:29 +04:00
* Copyright ( C ) 2004 - 2014 Red Hat , Inc . All rights reserved .
2001-10-03 16:34:08 +04:00
*
2004-03-30 23:35:44 +04:00
* This file is part of LVM2 .
2001-10-03 16:34:08 +04:00
*
2004-03-30 23:35:44 +04: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-21 00:55:30 +04:00
* of the GNU Lesser General Public License v .2 .1 .
2001-10-03 16:34:08 +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 ,
2016-01-21 13:49:46 +03:00
* Inc . , 51 Franklin Street , Fifth Floor , Boston , MA 02110 - 1301 USA
2001-10-03 16:34:08 +04:00
*/
# include "tools.h"
2002-11-18 17:04:08 +03:00
int lvremove ( struct cmd_context * cmd , int argc , char * * argv )
{
2024-05-22 23:32:17 +03:00
struct processing_handle * handle = NULL ;
2024-05-27 19:23:26 +03:00
struct lvremove_params lp = {
. removed_uuids = DM_LIST_HEAD_INIT ( lp . removed_uuids ) ,
} ;
2024-05-22 23:32:17 +03:00
int ret ;
2014-12-12 11:34:50 +03:00
if ( ! argc & & ! arg_is_set ( cmd , select_ARG ) ) {
log_error ( " Please enter one or more logical volume paths "
2015-03-04 16:40:04 +03:00
" or use --select for selection. " ) ;
2002-11-18 17:04:08 +03:00
return EINVALID_CMD_LINE ;
}
2008-09-19 10:42:00 +04:00
cmd - > handles_missing_pvs = 1 ;
2016-03-01 17:27:08 +03:00
cmd - > include_historical_lvs = 1 ;
2008-09-19 10:42:00 +04:00
2024-05-22 23:32:17 +03: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 21:00:15 +03:00
NULL , & lvremove_single ) ;
2024-05-22 23:32:17 +03: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 17:04:08 +03:00
}