--- a/SI/ptable.pm Tue Jan 19 23:45:54 2010 +0100
+++ b/SI/ptable.pm Tue Jan 19 23:48:10 2010 +0100
@@ -18,48 +18,50 @@
# non-removable block devices (this may include
# LVs (used as disk itself) too)
foreach (glob("/sys/block/*")) {
- my $name = basename($_);
- my $dev = "/dev/$name";
+ my $name = basename($_);
+ my $dev = "/dev/$name";
- next if !-e "$_/device";
- next if (grep { /ATTR{removable}/ } `udevadm info --attribute-walk --name $name`)[0] !~ /==.0./;
- next if (stat $dev)[0] == (stat $0)[0];
+ next if !-e "$_/device";
+ next
+ if (grep { /ATTR{removable}/ }
+ `udevadm info --attribute-walk --name $name`)[0] !~ /==.0./;
+ next if (stat $dev)[0] == (stat $0)[0];
- # exclude the device (stick) we're part of - this HACK is
- # only useful on KVM - the usb stick doesn't appear as a removeable
- # device
- next if (stat $0)[0] ~~ [map { (stat)[6] } map { "/dev/" . basename(dirname $_) } glob("$_/*/partition")];
-
+ # exclude the device (stick) we're part of - this HACK is
+ # only useful on KVM - the usb stick doesn't appear as a removeable
+ # device
+ next
+ if (stat $0)[0] ~~ [map { (stat)[6] }
+ map { "/dev/" . basename(dirname $_) } glob("$_/*/partition")];
- verbose("\n");
- verbose("device $dev\n");
-
- die "ERR: $dev does not exist. (should not happen): $!"
- if !-b $dev;
+ verbose("\n");
+ verbose("device $dev\n");
- # now the physical disk -- let's ask for the partition table
+ die "ERR: $dev does not exist. (should not happen): $!"
+ if !-b $dev;
- my @sfdisk = `sfdisk -d /dev/$name 2>/dev/null`;
+ # now the physical disk -- let's ask for the partition table
- my $of = sprintf $file, $name;
- my $oh = new IO::File ">$of" or die "Can't open >$of: $!\n";
- print $oh @sfdisk;
+ my @sfdisk = `sfdisk -d /dev/$name 2>/dev/null`;
+
+ my $of = sprintf $file, $name;
+ my $oh = new IO::File ">$of" or die "Can't open >$of: $!\n";
+ print $oh @sfdisk;
- $devs->{disk}{"/dev/$name"} = {
- pt => \@sfdisk
- };
+ $devs->{disk}{"/dev/$name"} = { pt => \@sfdisk };
- # and let's prepare the volume entries
- foreach (@sfdisk) {
- /^(\S+)\s*:.*Id=\s*([[:xdigit:]]+)/ or next;
- $devs->{volume}{$1} = {
- origin => "ptable",
- ptable_type => $2,
- };
- }
+ # and let's prepare the volume entries
+ foreach (@sfdisk) {
+ /^(\S+)\s*:.*Id=\s*([[:xdigit:]]+)/ or next;
+ $devs->{volume}{$1} = {
+ origin => "ptable",
+ ptable_type => $2,
+ };
+ }
}
return;
}
1;
+
# vim:sts=4 sw=4 aw ai si: