On Thu, Dec 21, 2000 at 09:12:04AM +0100, Vincenzo Marchese wrote:
> Tryed the patch ;)
> amanda still loops infinitely ...

I was able to reproduce the problem and the patch works for me.
I include a new patch with debugging information.
The patch should be applied on the server, you don't need the patch
on client.

Jean-Louis
-- 
Jean-Louis Martineau             email: [EMAIL PROTECTED] 
Departement IRO, Universite de Montreal
C.P. 6128, Succ. CENTRE-VILLE    Tel: (514) 343-6111 ext. 3529
Montreal, Canada, H3C 3J7        Fax: (514) 343-5834
--- server-src/driver.c.orig    Tue Dec 19 10:25:37 2000
+++ server-src/driver.c Sat Dec 23 15:37:01 2000
@@ -821,11 +821,17 @@
        if( busy_dumpers == 1 ) { /* case c */
            assignedhd_t **holdp;
            int i;
+           long est_size;
            /* set estimate to more than what is already use */
-           sched(dp)->est_size = 20 * TAPE_BLOCK_SIZE;
+           est_size = 20 * TAPE_BLOCK_SIZE;
            holdp = sched(dp)->holdp;
            for(i=0; holdp[i]; i++ ) { /* for each disk */
-               sched(dp)->est_size += holdp[i]->used;
+               est_size += holdp[i]->used;
+           }
+           fprintf(stderr,"est_size: %ld %ld\n",est_size,sched(dp)->est_size);
+           if(est_size > sched(dp)->est_size) {
+               fprintf(stderr,"Should not be executed\n");
+               sched(dp)->est_size = est_size;
            }
        }
        /* case b */

Reply via email to