summaryrefslogtreecommitdiffstats
path: root/rescue/diskdrake-resize
blob: 88372aac7312834880d5f91f29cad0ad82025116 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/perl

use lib qw(/usr/lib/libDrakX);

use devices;
use log;
use resize_fat::main;
use diskdrake::resize_ntfs;
use diskdrake::resize_ext2;

my ($device, $fs_type, $size) = @ARGV
  or die "usage: $0 <device> <fs type> <size>\n";

my %fs_pkgs = (
    vfat => 'resize_fat::main',
    ntfs => 'diskdrake::resize_ntfs',
    ext2 => 'diskdrake::resize_ext2',
    ext3 => 'diskdrake::resize_ext2',
    ext4 => 'diskdrake::resize_ext2',
);

my $resize_pkg = $fs_pkgs{$fs_type}
  or die "no support for $fs_type type\n";

log::l("resizing $device to $size");

my $resize = $resize_pkg->new($device, devices::make($device))
  or die "unable to initialize resize\n";
$resize->resize($size);