mirror of
https://github.com/webmin/webmin.git
synced 2026-09-19 03:50:39 +01:00
Start of slice deletion form
This commit is contained in:
@@ -61,7 +61,9 @@ foreach my $dev (glob("/dev/ada[0-9]"),
|
||||
$disk->{'blksper'} = $4;
|
||||
$disk->{'blocks'} = $disk->{'cylinders'} *
|
||||
$disk->{'blksper'};
|
||||
$disk->{'size'} = $disk->{'blocks'} * 512;
|
||||
$disk->{'blocksize'} = 512; # Guessed?
|
||||
$disk->{'size'} = $disk->{'blocks'} *
|
||||
$disk->{'blocksize'};
|
||||
}
|
||||
elsif ($lines[$i+1] !~ /<UNUSED>/ &&
|
||||
$lines[$i] =~ /data\s+for\s+partition\s+(\d+)/) {
|
||||
@@ -122,7 +124,8 @@ foreach my $dev (glob("/dev/ada[0-9]"),
|
||||
'startblock' => $3,
|
||||
'type' => $4,
|
||||
'device' =>$slice->{'device'}.$1 };
|
||||
# XXX how to get size?
|
||||
$part->{'size'} = $part->{'blocks'} *
|
||||
$disk->{'blocksize'};
|
||||
push(@{$slice->{'parts'}}, $part);
|
||||
}
|
||||
}
|
||||
|
||||
44
bsdfdisk/delete_slice.cgi
Normal file
44
bsdfdisk/delete_slice.cgi
Normal file
@@ -0,0 +1,44 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Delete a slice, after asking for confirmation
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
require './bsdfdisk-lib.pl';
|
||||
our (%in, %text, $module_name);
|
||||
&ReadParse();
|
||||
|
||||
# Get the disk and slice
|
||||
my @disks = &list_disks_partitions();
|
||||
my ($disk) = grep { $_->{'device'} eq $in{'device'} } @disks;
|
||||
$disk || &error($text{'disk_egone'});
|
||||
my ($slice) = grep { $_->{'number'} eq $in{'slice'} } @{$disk->{'slices'}};
|
||||
$slice || &error($text{'slice_egone'});
|
||||
|
||||
&ui_print_header($slice->{'desc'}, $text{'dslice_title'}, "");
|
||||
|
||||
if ($in{'confirm'}) {
|
||||
# Delete it
|
||||
}
|
||||
else {
|
||||
# Ask first
|
||||
my @warn;
|
||||
foreach my $p (@{$slice->{'parts'}}) {
|
||||
my @st = &fdisk::device_status($p->{'device'});
|
||||
if (@st) {
|
||||
my $use = &fdisk::device_status_link(@st);
|
||||
push(@warn, $use);
|
||||
}
|
||||
}
|
||||
print &ui_confirmation_form(
|
||||
"delete_slice.cgi",
|
||||
&text('dslice_rusure', "<tt>$slice->{'device'}</tt>"),
|
||||
[ [ "device", $in{'device'} ],
|
||||
[ "slice", $in{'slice'} ] ],
|
||||
[ [ "confirm", $text{'dslice_confirm'} ] ],
|
||||
undef,
|
||||
@warn ? &text('dslice_warn', join(" ", @warn)) : undef);
|
||||
}
|
||||
|
||||
&ui_print_footer("edit_disk.cgi?device=$in{'device'}",
|
||||
$text{'disk_return'});
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Show partitions on one disk
|
||||
# Show details of a disk, and slices on it
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
@@ -26,7 +26,7 @@ push(@info, &text('disk_device', "<tt>$disk->{'device'}</tt>"));
|
||||
print &ui_links_row(\@info),"<p>\n";
|
||||
|
||||
# Show partitions table
|
||||
my @links = ( "<a href='edit_part.cgi?device=".&urlize($disk->{'device'}).
|
||||
my @links = ( "<a href='slice_form.cgi?device=".&urlize($disk->{'device'}).
|
||||
"&new=1'>".$text{'disk_add'}."</a>" );
|
||||
if (@{$disk->{'slices'}}) {
|
||||
print &ui_links_row(\@links);
|
||||
@@ -55,7 +55,7 @@ if (@{$disk->{'slices'}}) {
|
||||
|
||||
# Add row for the slice
|
||||
my $url = "edit_slice.cgi?device=".&urlize($disk->{'device'}).
|
||||
"&part=".$p->{'number'};
|
||||
"&slice=".$p->{'number'};
|
||||
print &ui_columns_row([
|
||||
"<a href='$url'>$p->{'number'}</a>",
|
||||
"<a href='$url'>".&fdisk::tag_name($p->{'type'})."</a>",
|
||||
|
||||
@@ -31,3 +31,26 @@ disk_add=Add a new slice.
|
||||
select_device=$1 device $2
|
||||
select_slice=$1 device $2 slice $3
|
||||
select_part=$1 device $2 slice $3 partition $4
|
||||
|
||||
slice_title=Edit Slice
|
||||
slice_egone=Selected slice does not exist!
|
||||
slice_ssize=<b>Slice size:</b> $1
|
||||
slice_sstart=<b>Starting block:</b> $1
|
||||
slice_sblocks=<b>Number of blocks:</b> $1
|
||||
slice_stype=<b>Slice type:</b> $1
|
||||
slice_add=Add a new partition.
|
||||
slice_letter=Partition
|
||||
slice_type=Type
|
||||
slice_extent=Extent
|
||||
slice_size=Size
|
||||
slice_start=Start block
|
||||
slice_end=End block
|
||||
slice_use=Used by
|
||||
slice_none=This slice has no partitions yet.
|
||||
slice_delete=Delete Slice
|
||||
slice_deletedesc=Delete this slice and all partitions and filesystems within it. Any data on those filesystem will be almost certainly unrecoverable.
|
||||
|
||||
dslice_title=Delete Slice
|
||||
dslice_rusure=Are you sure you want to delete the slice $1? Any partitions and filesystems within it will also be deleted.
|
||||
dslice_warn=Warning - this slice is currently used by : $1
|
||||
dslice_confirm=Delete Now
|
||||
|
||||
Reference in New Issue
Block a user