xfs
[Top] [All Lists]

Re: Again: xfsrestore assertion failure

To: Juergen Hasch <Hasch@xxxxxxxxxxx>
Subject: Re: Again: xfsrestore assertion failure
From: ivanr@xxxxxxx
Date: Sun, 2 Dec 2001 11:14:17 +1100
Cc: linux-xfs@xxxxxxxxxxx
In-reply-to: <16AFxD-1LpiRkC@xxxxxxxxxxxxxxxxxxxxxx>
Sender: owner-linux-xfs@xxxxxxxxxxx
On Sat, 1 Dec 2001, Juergen Hasch wrote:

> Am Friday 30 November 2001 20:12 schrieb Juergen Hasch:
>
> > In line 1508 of drive_scsitape.c I find the following values:
> > first_mark_offset = 206e460000000000
> > file_offset = 400000
> > tape_recsz = 809efa800100000
>
> Ivan, things go wrong in xfsdump.
> When do_set_mark() sets first_mark_offset in the rec_hdr_t struct
> it doesn't endian convert it. It is also not endian converted later
> The following patch solves this, however you could also do the
> endian conversion later in do_write().
> ...Juergen

Thanks very much for your investigation!

Tim or I will review this patch in the next day or two.

Ivan


>
> --- cmd/xfsdump/common/drive_scsitape.c.orig    Fri Nov 30 19:43:48 2001
> +++ cmd/xfsdump/common/drive_scsitape.c Sat Dec  1 20:25:35 2001
> @@ -1940,7 +1940,7 @@
>         rechdrp = ( rec_hdr_t * )contextp->dc_recp;
>         if ( rechdrp->first_mark_offset == -1LL ) {
>                 ASSERT( nextoff != -1LL );
> -               rechdrp->first_mark_offset = nextoff;
> +               rechdrp->first_mark_offset = INT_GET(nextoff,ARCH_CONVERT);
>         }
>
>         /* put the mark on the tail of the queue.
>
>

-- 
Ivan Rayner
ivanr@xxxxxxx


<Prev in Thread] Current Thread [Next in Thread>