Add lvm2 thin provision dump target checker
We need to check if a directory or a device is lvm2 thinp target. First, we use get_block_dump_target() to convert dump path into block device, then we check if the device is lvm2 thinp target by cmd lvs. is_lvm2_thinp_device is now located in kdump-lib-initramfs.sh, for it will be used in 2nd kernel. is_lvm2_thinp_dump_target is located in kdump-lib.sh, for it is only used in 1st kernel, and it has dependencies which exist in kdump-lib.sh. Signed-off-by: Tao Liu <ltao@redhat.com> Reviewed-by: Philipp Rudo <prudo@redhat.com>
This commit is contained in:
		
							parent
							
								
									995ee24903
								
							
						
					
					
						commit
						0a5b71d123
					
				@ -153,3 +153,12 @@ is_fs_dump_target()
 | 
			
		||||
{
 | 
			
		||||
	[ -n "$(kdump_get_conf_val "ext[234]\|xfs\|btrfs\|minix\|virtiofs")" ]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
is_lvm2_thinp_device()
 | 
			
		||||
{
 | 
			
		||||
	_device_path=$1
 | 
			
		||||
	_lvm2_thin_device=$(lvm lvs -S 'lv_layout=sparse && lv_layout=thin' \
 | 
			
		||||
		--nosuffix --noheadings -o vg_name,lv_name "$_device_path" 2> /dev/null)
 | 
			
		||||
 | 
			
		||||
	[ -n "$_lvm2_thin_device" ]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -119,6 +119,12 @@ is_dump_to_rootfs()
 | 
			
		||||
	[[ $(kdump_get_conf_val 'failure_action\|default') == dump_to_rootfs ]]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
is_lvm2_thinp_dump_target()
 | 
			
		||||
{
 | 
			
		||||
	_target=$(get_block_dump_target)
 | 
			
		||||
	[ -n "$_target" ] && is_lvm2_thinp_device "$_target"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
get_failure_action_target()
 | 
			
		||||
{
 | 
			
		||||
	local _target
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user