The bug is present since 2006/05/12, so it is in all 2.5.1 release.
Try the attached patch.
Jean-Louis
Christopher McCrory wrote:
Hello...
Since upgrading amanda, I'm seeing estimates ( via amstatus) way larger than they should
be. I went from something before 2.5.1p3 , to 2.5.2, to 2.5.1p3, 2.5.2, 2.5.1p3, and now
2.5.1p3-20070516 ( on rhel4 x86_86 ). The wrong estimates could be a result of going
back and forth between versions, but I doubt it. The estimates seem to be consistantly
about twice what they should be. The "how many tapes do I need" part of amdump
seems to work correctly, so this might be a pure amstatus display issue. On the DLEs
that I can see individually and are relatively stable in size, the real dump size is
about 50% of the estimate and the compression is also about 50%. So I suspect something
is using the original size instead of the compressed size.
in amanda.conf:
compress client
estimate server
encrypt server
server_encrypt "/usr/sbin/amcrypt-ossl-asym"
and a number of DLEs with:
skip-incr
from amstatus:
(something like)
wait for writing: xx 8301m 16420m ( 50.56%) ( xx.xx%)
from amadmin info client
compressed size, Full: 54.1%, 54.1%, 54.1%
compressed size, Full: 54.7%, 54.7%, 54.7%
etc.
OR
since the difference for me is twice as large, or half as large, depending of
how you look at it ;) the problem could also be a division/multiplication error
somewhere. e.g. (total/4) vs (total/3) vs. (total/2)
diff -u -r --show-c-function --new-file
--exclude-from=/home/martinea/src.orig/amanda.diff
--ignore-matching-lines='$Id:' amanda-2.5.2/server-src/amstatus.pl.in
amanda-2.5.2.amstatus/server-src/amstatus.pl.in
--- amanda-2.5.2/server-src/amstatus.pl.in 2007-05-04 07:39:04.000000000
-0400
+++ amanda-2.5.2.amstatus/server-src/amstatus.pl.in 2007-05-18
13:07:20.000000000 -0400
@@ -302,7 +302,7 @@ while(<AMDUMP>) {
$degr_level{$hostpart}=-1;
}
}
- elsif(/^DUMP (\S+) (\S+) (\S+) (\S+) (\d+) (\d+)
\d+:\d+:\d+:\d+:\d+:\d+ (\d+) \d+/) {
+ elsif(/^DUMP (\S+) (\S+) (\S+) (\S+) (\d+) (\d+)
\d+:\d+:\d+:\d+:\d+:\d+ \d+ (\d+) \d+/) {
if($generating_schedule == 1 ) {
$host=$1;
$features=$2;
@@ -331,7 +331,7 @@ while(<AMDUMP>) {
$degr_size{$hostpart}=32 if ($7 < 32);
}
}
- elsif(/^DUMP (\S+) (\S+) (\S+) (\d+) (\d+) \d+:\d+:\d+:\d+:\d+:\d+
(\d+) \d+ (\d+) \d+:\d+:\d+:\d+:\d+:\d+ ([-]*\d+) \d+/) {
+ elsif(/^DUMP (\S+) (\S+) (\S+) (\d+) (\d+) \d+:\d+:\d+:\d+:\d+:\d+ \d+
(\d+) \d+ (\d+) \d+:\d+:\d+:\d+:\d+:\d+ [-]*\d+ ([-]*\d+) \d+/) {
if($generating_schedule == 1 ) {
$host=$1;
$partition=$2;
|