Add function get_blockdev.
This function will return you the block device of a given partition path.
This commit is contained in:
committed by
Dietmar Maurer
parent
3196c387d2
commit
0d28307d2f
@ -544,4 +544,20 @@ sub get_partnum {
|
||||
return $partnum;
|
||||
}
|
||||
|
||||
sub get_blockdev {
|
||||
my ($part_path) = @_;
|
||||
|
||||
my $dev = $1 if $part_path =~ m|^/dev/(.*)$|;
|
||||
my $link = readlink "/sys/class/block/$dev";
|
||||
my $block_dev = $1 if $link =~ m|([^/]*)/$dev$|;
|
||||
|
||||
die "Can't parse parent device\n" if !defined($block_dev);
|
||||
die "No valid block device\n" if index($dev, $block_dev) == -1;
|
||||
|
||||
$block_dev = "/dev/$block_dev";
|
||||
die "Block device does not exsists\n" if !(-b $block_dev);
|
||||
|
||||
return $block_dev;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
Reference in New Issue
Block a user