Bacula fails on FreeBSD 10.x / "mt fsf" infinitely proceeds

Martin Simmons martin at lispworks.com
Tue Jul 29 18:34:10 UTC 2014


>>>>> On Tue, 29 Jul 2014 11:07:24 +0200, Joerg Wunsch said:
> 
> After finally migrating my Bacula database from SQlite into PostgreSQL
> in the course of upgrading the machine to new hardware as well as from
> FreeBSD 8.2 to 10-stable, Bacula now experiences strange behaviour:
> 
> The number of files mismatch! Volume=32767 Catalog=33
> Correcting Catalog
> 
> What happens is that Bacula, when trying to go to end of recorded
> medium, issues the equivalent of
> 
> mt fsf 32767
> 
> and then
> 
> mt status
> 
> in order to know which tape file it is located at.
> 
> In FreeBSD 8.2, this correctly yielded the actual tape file number
> (i. e., 33 in the above case), but in FreeBSD 10, it yields 32767.
> You can perform "mt fsf" ad nauseum now, and each time, it pretends it
> were advancing one more file ...
> 
> I did a glance at the source code differences between 8.2 and 10.x,
> but nothing sprang into my eye immediately.  Does anyone have an
> idea?
> 
> Anyone out there who can test this on their machines?
> 
> (One other change is that the machine turned from i386 into amd64
> architecture, so there's also a minor chance the problem might be
> 64-bit related, although I wouldn't assume this to be the case.)

Maybe you are now connecting the tape drive via a different SCSI driver?

It sounds like you are running Bacula with "Fast Forward Space File = yes" in
the configuration.  FWIW, my latest hardware on FreeBSD 8.3 works with that,
but for some reason my previous hardware on an older FreeBSD needed the
traditional FreeBSD Bacula configuration described here:

http://www.bacula.org/7.0.x-manuals/en/problems/Testing_Your_Tape_Drive_Wit.html#SECTION00437000000000000000

I didn't ever check why it needed that.

Beware that changing the eotmodel will cause incompatibility with any existing
tapes.

__Martin


More information about the freebsd-scsi mailing list