From e41af69c5ad53d013a1d45b96e64140b25853aaa Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Wed, 20 Jun 2007 19:39:31 +0000 Subject: * fixed bug in used-count handling for exports that caused the image to be deleted no matter how many block devices used it * beautified list of exported vendor-OSes (slxos-export list-ex) git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1183 95ad53e4-c205-0410-b2fa-d234c58c8868 --- installer/slxos-export | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) (limited to 'installer/slxos-export') diff --git a/installer/slxos-export b/installer/slxos-export index cdf37672..19ec3d5b 100755 --- a/installer/slxos-export +++ b/installer/slxos-export @@ -60,18 +60,38 @@ my $action = shift @ARGV; if ($action =~ m[^list-ex]i) { print _tr("List of exported vendor-OSes:\n"); foreach my $type (sort keys %supportedExportFileSystems) { - my @files = <$openslxConfig{'public-path'}/export/$type/*>; + # list all image files, followed by the block devices using it: + my @files = map { + s[^.+/][]; + $_ + } sort <$openslxConfig{'public-path'}/export/$type/*>; + my %imageFiles; + foreach my $file (@files) { + if ($file =~ m[^(.+)@(.+)$]) { + # it's a link referring to a block device using this image, + # we collect the name of the block device: + push @{$imageFiles{$1}}, $2; + } else { + # it's an image file, we setup an empty array of block devices: + $imageFiles{$file} = []; + } + } print join( '', map { - s[^.+/][]; - "\t$type/$_\n"; + my $devices = join(',', @{$imageFiles{$_}}); + if (length($devices)) { + my $name = "$type/$_"; + "\t$name".substr(' ' x 30, length($name))."($devices)\n"; + } else { + "\t$type/$_\n"; + } } grep { # filter out RSYNC_TMP folders: $_ !~ m[###]; } - sort @files + sort keys %imageFiles ); } } elsif ($action =~ m[^list-in]i) { @@ -83,7 +103,7 @@ if ($action =~ m[^list-ex]i) { s[^.+/][]; "\t$_\n"; } - sort @files + sort @files ); } elsif ($action =~ m[^list-ty]i) { print _tr("List of supported export types:\n\t"); -- cgit v1.2.3-55-g7522