blob: eb35eb41ca438a6654e6075211bfb6d2a2f2e8da (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
package partition_table::dmcrypt;
# dmcrypt on full disk
use diagnostics;
use strict;
our @ISA = qw(partition_table::readonly);
use common;
use partition_table::readonly;
use fs::type;
sub _parts {
my ($hd) = @_;
my $part = { size => $hd->{totalsectors}, device => $hd->{device} };
add2hash($part, fs::type::type_name2subpart('Encrypted'));
require fs;
fs::get_major_minor([$part]); # to allow is_same_hd() in fs::dmcrypt
[ $part ];
}
sub read_primary {
my ($hd) = @_;
my $type = fs::type::type_subpart_from_magic($hd);
$type && $type->{type_name} eq 'Encrypted' or return;
partition_table::dmcrypt->initialize($hd);
1;
}
sub initialize {
my ($class, $hd) = @_;
partition_table::readonly::initialize($class, $hd, _parts($hd));
}
|