/[fai]/branches/experimental/patches/setup-storage_resize2fs
ViewVC logotype

Diff of /branches/experimental/patches/setup-storage_resize2fs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 5765 by lange, Mon Apr 12 11:31:30 2010 UTC revision 5766 by mt, Tue Apr 13 08:39:38 2010 UTC
# Line 8  Index: trunk/lib/setup-storage/Commands. Line 8  Index: trunk/lib/setup-storage/Commands.
8  ===================================================================  ===================================================================
9  --- trunk.orig/lib/setup-storage/Commands.pm  --- trunk.orig/lib/setup-storage/Commands.pm
10  +++ trunk/lib/setup-storage/Commands.pm  +++ trunk/lib/setup-storage/Commands.pm
11  @@ -496,18 +496,34 @@  @@ -496,18 +496,38 @@
12           or die "Resized volume $vg/$lv does not exist\n";           or die "Resized volume $vg/$lv does not exist\n";
13         warn "$vg/$lv will be resized\n";         warn "$vg/$lv will be resized\n";
14    
# Line 25  Index: trunk/lib/setup-storage/Commands. Line 25  Index: trunk/lib/setup-storage/Commands.
25  +        if (($FAI::configs{$config}{volumes}{$lv}{filesystem} =~  +        if (($FAI::configs{$config}{volumes}{$lv}{filesystem} =~
26  +            /^ext[23]$/) && &FAI::in_path("resize2fs")) {  +            /^ext[23]$/) && &FAI::in_path("resize2fs")) {
27  +          my $block_count = POSIX::floor($lv_size->{eff_size} / 512);  +          my $block_count = POSIX::floor($lv_size->{eff_size} / 512);
28    +          &FAI::push_command( "e2fsck -f /dev/$vg/$lv",
29    +            "vg_enabled_$vg,$lv_rm_pre", "e2fsck_f_resize_$vg/$lv" );
30  +          &FAI::push_command( "resize2fs /dev/$vg/$lv ${block_count}s",  +          &FAI::push_command( "resize2fs /dev/$vg/$lv ${block_count}s",
31  +            "vg_enabled_$vg,$lv_rm_pre", "lv_shrink_$vg/$lv" );  +            "e2fsck_f_resize_$vg/$lv", "lv_shrink_$vg/$lv" );
32  +        } else {  +        } else {
33  +          &FAI::push_command( "parted -s /dev/$vg/$lv resize 1 0 " . $lv_size->{eff_size} .  "B",  +          &FAI::push_command( "parted -s /dev/$vg/$lv resize 1 0 " . $lv_size->{eff_size} .  "B",
34  +            "vg_enabled_$vg,$lv_rm_pre", "lv_shrink_$vg/$lv" );  +            "vg_enabled_$vg,$lv_rm_pre", "lv_shrink_$vg/$lv" );
# Line 42  Index: trunk/lib/setup-storage/Commands. Line 44  Index: trunk/lib/setup-storage/Commands.
44  +        if (($FAI::configs{$config}{volumes}{$lv}{filesystem} =~  +        if (($FAI::configs{$config}{volumes}{$lv}{filesystem} =~
45  +            /^ext[23]$/) && &FAI::in_path("resize2fs")) {  +            /^ext[23]$/) && &FAI::in_path("resize2fs")) {
46  +          my $block_count = POSIX::floor($lv_size->{eff_size} / 512);  +          my $block_count = POSIX::floor($lv_size->{eff_size} / 512);
47    +          &FAI::push_command( "e2fsck -f /dev/$vg/$lv ${block_count}s",
48    +            "vg_enabled_$vg,$lv_rm_pre,lv_grow_$vg/$lv", "e2fsck_f_resize_$vg/$lv" );
49  +          &FAI::push_command( "resize2fs /dev/$vg/$lv ${block_count}s",  +          &FAI::push_command( "resize2fs /dev/$vg/$lv ${block_count}s",
50  +            "vg_enabled_$vg,$lv_rm_pre,lv_grow_$vg/$lv", "exist_/dev/$vg/$lv" );  +            "e2fsck_f_resize_$vg/$lv", "exist_/dev/$vg/$lv" );
51  +        } else {  +        } else {
52  +          &FAI::push_command( "parted -s /dev/$vg/$lv resize 1 0 " . $lv_size->{eff_size} .  "B",  +          &FAI::push_command( "parted -s /dev/$vg/$lv resize 1 0 " . $lv_size->{eff_size} .  "B",
53  +            "vg_enabled_$vg,$lv_rm_pre,lv_grow_$vg/$lv", "exist_/dev/$vg/$lv" );  +            "vg_enabled_$vg,$lv_rm_pre,lv_grow_$vg/$lv", "exist_/dev/$vg/$lv" );
# Line 51  Index: trunk/lib/setup-storage/Commands. Line 55  Index: trunk/lib/setup-storage/Commands.
55         }         }
56    
57         next;         next;
58  @@ -516,10 +532,10 @@  @@ -516,10 +536,10 @@
59       my ($create_options) = $FAI::configs{$config}{volumes}{$lv}{lvcreateopts};       my ($create_options) = $FAI::configs{$config}{volumes}{$lv}{lvcreateopts};
60       # prevent warnings of uninitialized variables       # prevent warnings of uninitialized variables
61       $create_options = '' unless $create_options;       $create_options = '' unless $create_options;
# Line 64  Index: trunk/lib/setup-storage/Commands. Line 68  Index: trunk/lib/setup-storage/Commands.
68         "exist_/dev/$vg/$lv" );         "exist_/dev/$vg/$lv" );
69    
70       # create the filesystem on the volume       # create the filesystem on the volume
71  @@ -847,25 +863,39 @@  @@ -847,25 +867,42 @@
72       my $start = $part->{start_byte};       my $start = $part->{start_byte};
73       my $end = $part->{end_byte};       my $end = $part->{end_byte};
74    
# Line 104  Index: trunk/lib/setup-storage/Commands. Line 108  Index: trunk/lib/setup-storage/Commands.
108  +    ##   TODO: BROKEN needs more checks, enlarge partition table before resize, just as  +    ##   TODO: BROKEN needs more checks, enlarge partition table before resize, just as
109  +    ##   NTFS case  +    ##   NTFS case
110  +    ##   my $block_count = $part->{size}->{eff_size} / 512;  +    ##   my $block_count = $part->{size}->{eff_size} / 512;
111  +    ##   &FAI::push_command( "resize2fs " . &FAI::make_device_name($disk, $p) .  +    ##   &FAI::push_command( "e2fsck -f " . &FAI::make_device_name($disk, $p) .
112  +    ##     " ${block_count}s", "rebuilt_" . &FAI::make_device_name($disk, $p) . $deps,  +    ##     " ${block_count}s", "rebuilt_" . &FAI::make_device_name($disk, $p) . $deps,
113    +    ##     "e2fsck_f_resize_" .  &FAI::make_device_name($disk, $p) );
114    +    ##   &FAI::push_command( "resize2fs " . &FAI::make_device_name($disk, $p) .
115    +    ##     " ${block_count}s", "e2fsck_f_resize_" . &FAI::make_device_name($disk, $p),
116  +    ##     "resized_" .  &FAI::make_device_name($disk, $p) );  +    ##     "resized_" .  &FAI::make_device_name($disk, $p) );
117       } else {       } else {
118         &FAI::push_command( "parted -s $disk resize $p ${start}B ${end}B",         &FAI::push_command( "parted -s $disk resize $p ${start}B ${end}B",

Legend:
Removed from v.5765  
changed lines
  Added in v.5766

  ViewVC Help
Powered by ViewVC 1.1.5