SI/lvm.pm
branchstable
changeset 19 d12753b246fd
parent 17 d4942418a9ea
child 26 39421a9700c5
equal deleted inserted replaced
18:c9575527c96d 19:d12753b246fd
    22 
    22 
    23     my @pvs =
    23     my @pvs =
    24       grep { $_ ~~ @known } map { s/\s*//; (split /:/)[0] } `pvdisplay -c`;
    24       grep { $_ ~~ @known } map { s/\s*//; (split /:/)[0] } `pvdisplay -c`;
    25     @volumegroups = map { (split /:/)[1] } `pvdisplay -c @pvs 2>/dev/null`;
    25     @volumegroups = map { (split /:/)[1] } `pvdisplay -c @pvs 2>/dev/null`;
    26     run("vgchange -ay @volumegroups 2>&1 >/dev/null");
    26     run("vgchange -ay @volumegroups 2>&1 >/dev/null");
       
    27     # we wait for the /dev/mapper devices to appear
       
    28     run("udevadm settle");	
    27     return @volumegroups;
    29     return @volumegroups;
    28 }
    30 }
    29 
    31 
    30 sub volumes(\%) {
    32 sub volumes(\%) {
    31     my ($devs) = @_;
    33     my ($devs) = @_;
    39       map { s/^\s*//; (split /:/)[0] }
    41       map { s/^\s*//; (split /:/)[0] }
    40       grep { (split /:/)[1] ~~ @vgs } `lvdisplay -c`;
    42       grep { (split /:/)[1] ~~ @vgs } `lvdisplay -c`;
    41     foreach (@lvs) {
    43     foreach (@lvs) {
    42         $devs->{volume}{$_} = { origin => "lvm" };
    44         $devs->{volume}{$_} = { origin => "lvm" };
    43     }
    45     }
       
    46 
       
    47     push @{$devs->{volumes}}, @lvs;
    44 }
    48 }
    45 
    49 
    46 sub vgcfgbackup($\%) {
    50 sub vgcfgbackup($\%) {
    47     my ($file, $devs) = @_;
    51     my ($file, $devs) = @_;
    48 
    52