X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2FBackupPC%2FXfer%2FRsync.pm;h=1b43096b33c56e68ff69c14acb871a638460d91c;hb=8d7768574bb328c669a44c6efbff01e8a7e93d7e;hp=c98ac8a257f52a74b002a0f3c32658dab7337e4c;hpb=affa34c1c6e653829af8285cdc73c541cab5bf40;p=BackupPC.git diff --git a/lib/BackupPC/Xfer/Rsync.pm b/lib/BackupPC/Xfer/Rsync.pm index c98ac8a..1b43096 100644 --- a/lib/BackupPC/Xfer/Rsync.pm +++ b/lib/BackupPC/Xfer/Rsync.pm @@ -29,7 +29,7 @@ # #======================================================================== # -# Version 2.0.0_CVS, released 3 Feb 2003. +# Version 2.0.0, released 14 Jun 2003. # # See http://backuppc.sourceforge.net. # @@ -52,9 +52,9 @@ BEGIN { $RsyncLibOK = 0; $RsyncLibErr = "File::RsyncP module doesn't exist"; } else { - if ( $File::RsyncP::VERSION < 0.30 ) { + if ( $File::RsyncP::VERSION < 0.41 ) { $RsyncLibOK = 0; - $RsyncLibErr = "File::RsyncP module version too old: need 0.30"; + $RsyncLibErr = "File::RsyncP module version too old: need 0.41"; } else { $RsyncLibOK = 1; } @@ -265,16 +265,20 @@ sub start $t->{rs} = File::RsyncP->new({ logLevel => $conf->{RsyncLogLevel}, rsyncCmd => sub { + $bpc->verbose(0); $bpc->cmdExecOrEval($rsyncClientCmd, $args); }, rsyncCmdType => "full", rsyncArgs => $rsyncArgs, timeout => $conf->{ClientTimeout}, logHandler => sub { - my($str) = @_; - $str .= "\n"; - $t->{XferLOG}->write(\$str); + my($str) = @_; + $str .= "\n"; + $t->{XferLOG}->write(\$str); }, + pidHandler => sub { + $t->{pidHandler}(@_); + }, fio => BackupPC::Xfer::RsyncFileIO->new({ xfer => $t, bpc => $t->{bpc}, @@ -365,14 +369,19 @@ sub run # my $stats = $rs->statsFinal; if ( !defined($error) && defined($stats) ) { - $t->{xferOK} = 1; + $t->{xferOK} = 1; } else { - $t->{xferOK} = 0; + $t->{xferOK} = 0; } - $t->{byteCnt} = $stats->{childStats}{TotalFileSize} - + $stats->{parentStats}{TotalFileSize}; - $t->{fileCnt} = $stats->{childStats}{TotalFileCnt} - + $stats->{parentStats}{TotalFileCnt}; + $t->{xferErrCnt} = $stats->{remoteErrCnt} + + $stats->{childStats}{errorCnt} + + $stats->{parentStats}{errorCnt}; + $t->{byteCnt} = $stats->{childStats}{TotalFileSize} + + $stats->{parentStats}{TotalFileSize}; + $t->{fileCnt} = $stats->{childStats}{TotalFileCnt} + + $stats->{parentStats}{TotalFileCnt}; + my $str = "Done: $t->{fileCnt} files, $t->{byteCnt} bytes\n"; + $t->{XferLOG}->write(\$str); # # TODO: get error count, and call fio to get stats... # @@ -419,7 +428,7 @@ sub xferPid { my($t) = @_; - return -1; + return (); } sub logMsg