Skip site navigation (1)Skip section navigation (2)
Date:      03 Jun 2003 15:06:56 +0200
From:      Kern Sibbald <kern@sibbald.com>
To:        mjacob@feral.com
Cc:        freebsd-scsi@freebsd.org
Subject:   Re: SCSI tape data loss
Message-ID:  <1054645616.13630.161.camel@rufus>
In-Reply-To: <20030602131225.F71034@beppo>
References:  <3EDB31AB.16420.C8964B7D@localhost> <3EDB59A4.27599.C93270FB@localhost> <20030602110836.H71034@beppo> <20030602131225.F71034@beppo>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello,

Dan has now re-run our test of writing to two tapes. In
this test, he told Bacula not to attempt to re-read the
last block written, so Bacula wrote until -1 with errno=ENOSPC
was returned, wrote two EOF marks then put up
the next volume.

The results were the same (more or less) 12 blocks of
data were lost, which corresponds to the smaller size
of the restored file that was split across two tapes.

These 12 blocks were also at the end of the tape.  

During the restore, Bacula reported the following:

03-Jun-2003 05:01 undef-sd: RestoreFiles.2003-06-03_04.36.59 Error:
Invalid block number. Expected 6060, got 6072

and in Bacula's database, Bacula indicates that blocks
0 to 6072 were written to the first tape. In fact, only
blocks 0 to 6071 were written to the first tape -- I
see that Bacula has included the failed block in its
count, which is wrong, but this doesn't change the results
at all though.

Bottom line: 

Even when we eliminate the code that backs
up and re-reads the last block, we still see
the last 12 or 13 blocks being lost. They were
written by the program but are not physically 
on the tape.

Next step: 

Dan is now running a test where Bacula will stop
writing on the first tape before the EOM is reached.

Best regards,

Kern







Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1054645616.13630.161.camel>