Reviewed-by: Bernhard Bitsch Am 01.08.2023 um 17:48 schrieb Stefan Schantl: > Signed-off-by: Stefan Schantl > --- > html/cgi-bin/extrahd.cgi | 42 +++++++++++++++++++++------------------- > 1 file changed, 22 insertions(+), 20 deletions(-) > > diff --git a/html/cgi-bin/extrahd.cgi b/html/cgi-bin/extrahd.cgi > index bafdb9fc9..f31bc2c44 100644 > --- a/html/cgi-bin/extrahd.cgi > +++ b/html/cgi-bin/extrahd.cgi > @@ -146,33 +146,35 @@ if ($extrahdsettings{'ACTION'} eq $Lang::tr{'add'}) { > # > } elsif ($extrahdsettings{'ACTION'} eq $Lang::tr{'delete'}) { > # Call helper binary to unmount the device. > - &General::system("/usr/local/bin/extrahdctrl", "umount", "$extrahdsettings{'PATH'}"); > + unless(&General::system("/usr/local/bin/extrahdctrl", "umount", "$extrahdsettings{'PATH'}")) { > + # Open the device file for reading. > + open(FILE, "< $devicefile" ) or die "Unable to read $devicefile"; > > - # Open the device file for reading. > - open(FILE, "< $devicefile" ) or die "Unable to read $devicefile"; > + # Read the file content into a temporary array. > + my @tmp = ; > > - # Read the file content into a temporary array. > - my @tmp = ; > - > - # Close file handle. > - close(FILE); > + # Close file handle. > + close(FILE); > > - # Re-open device file for writing. > - open(FILE, "> $devicefile" ) or die "Unable to write $devicefile"; > + # Re-open device file for writing. > + open(FILE, "> $devicefile" ) or die "Unable to write $devicefile"; > > - # Loop through the previous read file content. > - foreach my $line (sort @tmp) { > - # Split line content and assign nice variables. > - my ($uuid, $fs, $path) = split( /\;/, $line ); > + # Loop through the previous read file content. > + foreach my $line (sort @tmp) { > + # Split line content and assign nice variables. > + my ($uuid, $fs, $path) = split( /\;/, $line ); > > - # Write the line in case it does not contain our element to delete. > - if ($path ne $extrahdsettings{'PATH'}) { > - print FILE "$line"; > + # Write the line in case it does not contain our element to delete. > + if ($path ne $extrahdsettings{'PATH'}) { > + print FILE "$line"; > + } > } > - } > > - # Close file handle. > - close(FILE); > + # Close file handle. > + close(FILE); > + } else { > + $errormessage = "$Lang::tr{'extrahd cant umount'} $extrahdsettings{'PATH'}$Lang::tr{'extrahd maybe the device is in use'}?"; > + } > } > > if ($errormessage) {