/[42-fs]/42-lvm.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /42-lvm.pl

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

revision 8 by dpavlin, Sun Jul 19 15:17:55 2009 UTC revision 10 by dpavlin, Sun Jul 19 16:30:13 2009 UTC
# Line 62  my ($dir,$file) = ($1,$2) if $path =~ m{ Line 62  my ($dir,$file) = ($1,$2) if $path =~ m{
62  my $fs = "$mnt/fs/$dir";  my $fs = "$mnt/fs/$dir";
63  mkpath $fs unless -e $fs;  mkpath $fs unless -e $fs;
64    
65    my $lv = $file;
66    $lv =~ s{\W+}{_}g;
67    
68  $fs .= '/' . $file;  $fs .= '/' . $file;
69  if ( -e $fs ) {  if ( -e $fs || -e "/dev/$vg/$lv" ) {
70          if ( $skip ) {          if ( $skip ) {
71                  warn "SKIP $fs\n";                  warn "SKIP $fs\n";
72                  exit 0;                  exit 0;
# Line 79  warn "# $path ",$stat[7],$/; Line 82  warn "# $path ",$stat[7],$/;
82  my $size = $stat[7] / 1024;  my $size = $stat[7] / 1024;
83  $size .= 'k';  $size .= 'k';
84    
 my $lv = $file;  
 $lv =~ s{\W+}{_}g;  
   
85  system("lvcreate -n $lv -L $size $vg");  system("lvcreate -n $lv -L $size $vg");
86    
87  write_file( "$mnt/stat/$file", join("\n",@stat) );  write_file( "$mnt/stat/$file", join("\n",@stat) );
# Line 91  my $log = "$mnt/log/$file"; Line 91  my $log = "$mnt/log/$file";
91  my $to = "/dev/$vg/$lv";  my $to = "/dev/$vg/$lv";
92  symlink( $to , $fs ) || die "can't create $fs: $!";  symlink( $to , $fs ) || die "can't create $fs: $!";
93    
94  my $cmd = "dd_rescue -w -l $log \"$path\" $to";  my $cmd = "dd_rescue -w -l \"$log\" \"$path\" $to";
95  print "+ $cmd\n";  print "+ $cmd\n";
96  exec $cmd;  exec $cmd;

Legend:
Removed from v.8  
changed lines
  Added in v.10

  ViewVC Help
Powered by ViewVC 1.1.26