2013-04-12 19:46:43 +02:00
|
|
|
#!/usr/bin/perl -w
|
|
|
|
|
|
|
|
use JSON;
|
|
|
|
|
|
|
|
opendir(my $dh, "/sys/block") or die "Couldn't open /sys/block: $!";
|
|
|
|
my @blocks = grep { $_ !~ m/^\./ } readdir($dh);
|
|
|
|
closedir($dh);
|
|
|
|
my $json;
|
|
|
|
foreach my $block (@blocks){
|
2013-04-16 13:23:26 +02:00
|
|
|
my $removable = 0;
|
2013-04-16 13:38:33 +02:00
|
|
|
my $size = 1;
|
2013-04-16 13:23:26 +02:00
|
|
|
if ( -e "/sys/block/$block/removable"){
|
|
|
|
open REMOVABLE, "/sys/block/$block/removable";
|
|
|
|
$removable = join "", <REMOVABLE>;
|
|
|
|
close REMOVABLE;
|
|
|
|
chomp($removable);
|
|
|
|
next if ($removable eq '1');
|
2013-04-12 19:46:43 +02:00
|
|
|
}
|
2013-04-16 13:38:33 +02:00
|
|
|
if ( -e "/sys/block/$block/size"){
|
|
|
|
open SIZE, "/sys/block/$block/size";
|
|
|
|
$size = join "", <SIZE>;
|
|
|
|
close SIZE;
|
|
|
|
chomp($size);
|
|
|
|
next if ($size eq '0');
|
|
|
|
}
|
2013-04-17 17:07:25 +02:00
|
|
|
push @{$json->{data}}, { "{#BLOCKDEVICE}" => $block, "{#BLOCKSIZE}" => $size };
|
2013-04-12 19:46:43 +02:00
|
|
|
}
|
|
|
|
print to_json($json);
|
|
|
|
exit(0);
|