equal
deleted
inserted
replaced
2 |
2 |
3 use if $ENV{DEBUG} ~~ /blkid|all/ => "Smart::Comments"; |
3 use if $ENV{DEBUG} ~~ /blkid|all/ => "Smart::Comments"; |
4 |
4 |
5 use strict; |
5 use strict; |
6 use warnings; |
6 use warnings; |
7 use File::Find; |
|
8 |
|
9 |
7 |
10 use SI::tools; |
8 use SI::tools; |
11 |
|
12 sub find_by_devid($$) { |
|
13 my ($dir, $id) = @_; |
|
14 my $found; |
|
15 find( |
|
16 sub { |
|
17 return if $found; |
|
18 $found = (stat)[6] == $id ? $File::Find::name : undef; |
|
19 return; |
|
20 }, |
|
21 $dir |
|
22 ); |
|
23 return $found; |
|
24 } |
|
25 |
9 |
26 |
10 |
27 sub ids($\%) { |
11 sub ids($\%) { |
28 my ($file, $devs) = @_; |
12 my ($file, $devs) = @_; |
29 |
13 |
35 |
19 |
36 my ($uuid) = /\sUUID=.(.*?).\s/; |
20 my ($uuid) = /\sUUID=.(.*?).\s/; |
37 my ($type) = /\sTYPE=.(.*?).\s/; |
21 my ($type) = /\sTYPE=.(.*?).\s/; |
38 my ($label) = /\sLABEL=.(.*?).\s/; |
22 my ($label) = /\sLABEL=.(.*?).\s/; |
39 |
23 |
40 #if ($dev ~~ $devs->{physical}) { |
|
41 #$devs->{physical}{$dev}{uuid} = $uuid; |
|
42 #$devs->{physical}{$dev}{type} = $type; |
|
43 #$devs->{physical}{$dev}{label} = $label; |
|
44 #next; |
|
45 #} |
|
46 |
|
47 # dev mapper names should be replaced by nicer ones |
24 # dev mapper names should be replaced by nicer ones |
48 if ($dev ~~ /^\/dev\/dm-/) { |
25 if ($dev =~ /\/dev\/dm-/) { |
49 $dev = find_by_devid("/dev/mapper", (stat $dev)[6]); |
26 $dev = find_by_devid("/dev/mapper", (stat $dev)[6]); |
50 }; |
27 }; |
51 |
28 |
52 if (exists $devs->{volume}{$dev}) { |
29 if (exists $devs->{volume}{$dev}) { |
53 $devs->{volume}{$dev}{uuid} = $uuid; |
30 $devs->{volume}{$dev}{uuid} = $uuid; |