SI/lvm.pm
changeset 27 de0a25512844
parent 26 39421a9700c5
equal deleted inserted replaced
17:d4942418a9ea 27:de0a25512844
    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 
       
    28     # we wait for the /dev/mapper devices to appear
       
    29     run("udevadm settle");
    27     return @volumegroups;
    30     return @volumegroups;
    28 }
    31 }
    29 
    32 
    30 sub volumes(\%) {
    33 sub volumes(\%) {
    31     my ($devs) = @_;
    34     my ($devs) = @_;
    39       map { s/^\s*//; (split /:/)[0] }
    42       map { s/^\s*//; (split /:/)[0] }
    40       grep { (split /:/)[1] ~~ @vgs } `lvdisplay -c`;
    43       grep { (split /:/)[1] ~~ @vgs } `lvdisplay -c`;
    41     foreach (@lvs) {
    44     foreach (@lvs) {
    42         $devs->{volume}{$_} = { origin => "lvm" };
    45         $devs->{volume}{$_} = { origin => "lvm" };
    43     }
    46     }
       
    47 
       
    48     push @{ $devs->{volumes} }, @lvs;
    44 }
    49 }
    45 
    50 
    46 sub vgcfgbackup($\%) {
    51 sub vgcfgbackup($\%) {
    47     my ($file, $devs) = @_;
    52     my ($file, $devs) = @_;
    48 
    53