2008-06-25 16:52:27 +00:00
/*
* Copyright ( C ) 2004 - 2007 Red Hat , Inc . All rights reserved .
*
* 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 Lesser General Public License v .2 .1 .
*
* You should have received a copy of the GNU Lesser General Public License
* 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
2008-06-25 16:52:27 +00:00
*/
2018-06-08 13:40:53 +01:00
# include "base/memory/zalloc.h"
2018-05-14 10:30:20 +01:00
# include "lib/misc/lib.h"
# include "lib/commands/toolcontext.h"
# include "lib/metadata/segtype.h"
2008-06-25 16:52:27 +00:00
2010-12-20 13:32:49 +00:00
static void _freeseg_destroy ( struct segment_type * segtype )
2008-06-25 16:52:27 +00:00
{
2018-06-08 13:40:53 +01:00
free ( segtype ) ;
2008-06-25 16:52:27 +00:00
}
static struct segtype_handler _freeseg_ops = {
. destroy = _freeseg_destroy ,
} ;
struct segment_type * init_free_segtype ( struct cmd_context * cmd )
{
2018-06-08 13:40:53 +01:00
struct segment_type * segtype = zalloc ( sizeof ( * segtype ) ) ;
2008-06-25 16:52:27 +00:00
if ( ! segtype )
return_NULL ;
segtype - > ops = & _freeseg_ops ;
2015-09-22 19:04:12 +01:00
segtype - > name = SEG_TYPE_NAME_FREE ;
2008-06-25 16:52:27 +00:00
segtype - > flags = SEG_VIRTUAL | SEG_CANNOT_BE_ZEROED ;
log_very_verbose ( " Initialised segtype: %s " , segtype - > name ) ;
return segtype ;
}