Amanda-Users

Re: tape spanning problem with 2.5.2-20070523

2007-06-06 17:42:12
Subject: Re: tape spanning problem with 2.5.2-20070523
From: Jean-Louis Martineau <martineau AT zmanda DOT com>
To: Jean-Francois Malouin <Jean-Francois.Malouin AT bic.mni.mcgill DOT ca>
Date: Wed, 06 Jun 2007 17:30:39 -0400
Patch attached.

Jean-Louis

Jean-Louis Martineau wrote:
Try the attached patch, it will gives more debug output on stderr.
Which changer script are you using? what is its config?

Jean-Louis

Jean-Francois Malouin wrote:


The amfetchdump debug file must be in /tmp/amanda/server/spantest,
can you send it?

no such file:
find . /tmp/amanda-spantest -name '*fetch*'
returns nothing.

diff -u -r --show-c-function --new-file 
--exclude-from=/home/martinea/src.orig/amanda.diff 
--ignore-matching-lines='$Id:' amanda-2.5.2/restore-src/restore.c 
amanda-2.5.2.tapedev/restore-src/restore.c
--- amanda-2.5.2/restore-src/restore.c  2007-05-04 07:39:06.000000000 -0400
+++ amanda-2.5.2.tapedev/restore-src/restore.c  2007-06-06 15:04:36.000000000 
-0400
@@ -1732,6 +1732,7 @@ search_tapes(
 
     /* Suss what tape device we're using, whether there's a changer, etc. */
     if(!use_changer || (have_changer = changer_init()) == 0) {
+fprintf(stderr,"aa\n");
        if (flags->alt_tapedev) {
            cur_tapedev = stralloc(flags->alt_tapedev);
        } else if(!cur_tapedev) {
@@ -1744,13 +1745,16 @@ search_tapes(
        fprintf(stderr, "%s: Using tapedev %s\n", get_pname(), cur_tapedev);
        have_changer = 0;
     } else if (have_changer != 1) {
+fprintf(stderr,"bb\n");
        error("changer initialization failed: %s", strerror(errno));
        /*NOTREACHED*/
     }
     else{ /* good, the changer works, see what it can do */
+fprintf(stderr,"cc\n");
        amfree(curslot);
        changer_info(&slots, &curslot, &backwards);
     }
+fprintf(stderr,"dd %s\n", cur_tapedev);
 
     if(tapelist && !flags->amidxtaped){
       slots = num_entries(tapelist);
@@ -1778,8 +1782,10 @@ search_tapes(
     desired_tape = tapelist;
 
     if(use_changer && !cur_tapedev) { /* load current slot */
+fprintf(stderr,"ee %s\n", cur_tapedev);
        amfree(curslot);
        changer_loadslot("current", &curslot, &cur_tapedev);
+fprintf(stderr,"ff %s\n", cur_tapedev);
     }
 
     /*
@@ -1819,6 +1825,7 @@ search_tapes(
            label = stralloc(desired_tape->label);
        } else {
            /* check current_slot */
+fprintf(stderr,"gg %s\n", cur_tapedev);
            label = label_of_current_slot(cur_tapedev, prompt_out,
                                          &tapefd, &file, flags,
                                          their_features, &read_result,
@@ -1830,6 +1837,7 @@ search_tapes(
                 * the right one
                 * (or just see what the next available one is).
                 */
+fprintf(stderr,"hh %s\n", cur_tapedev);
                slot = load_next_tape(&cur_tapedev, prompt_out,
                                      backwards, flags,
                                      their_features, desired_tape);
@@ -1843,6 +1851,7 @@ search_tapes(
                        slot_num += slot;
 
                    /* check current_slot */
+fprintf(stderr,"ii %s\n", cur_tapedev);
                    label = label_of_current_slot(cur_tapedev, prompt_out,
                                                  &tapefd, &file, flags,
                                                  their_features, &read_result,
@@ -1851,10 +1860,12 @@ search_tapes(
            }
 
            if (label == NULL) {
+fprintf(stderr,"jj %s\n", cur_tapedev);
                ret = load_manual_tape(&cur_tapedev, prompt_out, prompt_in,
                                       flags,
                                       their_features, desired_tape);
                if (ret == 0) {
+fprintf(stderr,"hh %s\n", cur_tapedev);
                    label = label_of_current_slot(cur_tapedev, prompt_out,
                                                  &tapefd, &file, flags,
                                                  their_features, &read_result,
Binary files amanda-2.5.2/restore-src/.restore.c.swp and 
amanda-2.5.2.tapedev/restore-src/.restore.c.swp differ
<Prev in Thread] Current Thread [Next in Thread>