You can also try this patch which allow to read a SPLIT_DUMPFILE from holding disk.

Jean-Louis

On 05/05/2014 12:41 PM, Jean-Louis Martineau wrote:
amrestore is designed to work with holding disk file or device.
You use it with a vtape file, amrestore think it is an holding file and to validation on it.

In 3.3.5, amrecover, amfetchdump and amrecover should works even if a backup is in progress, you should use:
  amfetchdump CONF xxx.cmu.edu imap/lvol0 20140504200001
  amrestore chg-disk:/amanda/vtapes xxx.cmu.edu imap/lvol0 20140504200001

Jean-Louis

On 05/05/2014 11:55 AM, Chaskiel Grundman wrote:
amrestore -p /amanda/vtapes/slot1/00001.xxx.cmu.edu.imap_lvol0.0 > /dev/null
Reading from '/amanda/vtapes/slot1/00001.xxx.cmu.edu.imap_lvol0.0'
split dumpfile: date 20140501110923 host xxx.cmu.edu <http://xxx.cmu.edu> disk imap/lvol0 part 1/UNKNOWN lev 0 comp N program /sbin/dump ERROR: unexpected header type 5 in holding file '/amanda/vtapes/slot1/00001.xxx.cmu.edu.imap_lvol0.0'




On Mon, May 5, 2014 at 11:44 AM, Jean-Louis Martineau <[email protected] <mailto:[email protected]>> wrote:

    Chaskiel,

    Can you post the exact amrestore command line and the exact error
    you get.

    Jean-Louis


    On 05/05/2014 10:43 AM, Chaskiel Grundman wrote:

        All lines were

                ALLOW-SPLIT         no

        and the tapefile headers are still split:
        AMANDA: SPLIT_FILE 20140504200001 xxx.cmu.edu
        <http://xxx.cmu.edu> <http://xxx.cmu.edu> imap/lvol0  part
        1/-1  lev 0 comp N program /sbin/dump


        I am having trouble figuring out the perl->C interface. I
        think the problem might just be that taper always fills in a
        part number in the dump_header, but I haven't found where the
        perl dump_header hash is turned into a dumpfile_t


        On Fri, May 2, 2014 at 1:35 PM, Jean-Louis Martineau
        <[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>>
        wrote:

            On 05/02/2014 11:11 AM, Chaskiel Grundman wrote:

                On our old installation (2.6.0p2) , we used amrestore -p
                <vtape file>, not amfetchdump or amrecover, to
                decode/decompress dumps when doing restores. This
        works even
                when a backup job is in progress.

                This is not working on 3.3.5, because the vtape files
        are all
                split dumps (with one part), and amrestore does not
        understand
                them. Is there any way to force taper to not use the
        splitter?
My configuration has runtapes 1, and I am using chg-disk.
                Setting the dumptype to 'allow-split no' had no effect.


            Are you sure it is correctly set?
              run: amadmin CONF disklist | grep -i allow-split

            Jean-Louis






diff --git a/server-src/xfer-source-holding.c b/server-src/xfer-source-holding.c
index 13970a4..aa9c566 100644
--- a/server-src/xfer-source-holding.c
+++ b/server-src/xfer-source-holding.c
@@ -152,12 +152,16 @@ start_new_chunk(
     hdrbuf = NULL;
 
     if (hdr.type != F_DUMPFILE && hdr.type != F_CONT_DUMPFILE) {
-	dumpfile_free_data(&hdr);
-	xfer_cancel_with_error(XFER_ELEMENT(self),
-	    "unexpected header type %d in holding file '%s'",
-	    hdr.type, self->next_filename);
-	wait_until_xfer_cancelled(XFER_ELEMENT(self)->xfer);
-	return FALSE;
+	if (hdr.type == F_SPLIT_DUMPFILE) {
+	    g_debug("Reading a SPLIT_DUMPFILE) from holding disk");
+	} else {
+	    dumpfile_free_data(&hdr);
+	    xfer_cancel_with_error(XFER_ELEMENT(self),
+		"unexpected header type %d in holding file '%s'",
+		hdr.type, self->next_filename);
+	    wait_until_xfer_cancelled(XFER_ELEMENT(self)->xfer);
+	    return FALSE;
+	}
     }
 
     g_free(self->next_filename);

Reply via email to