Skip site navigation (1)Skip section navigation (2)
Date:      22 Aug 2003 21:54:07 +0200
From:      Kern Sibbald <kern@sibbald.com>
To:        Doug White <dwhite@gumbysoft.com>
Cc:        Nate Lawson <nate@root.org>
Subject:   pthread problem writing tapes
Message-ID:  <1061582047.28811.324.camel@rufus>

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

> On Wed, 20 Aug 2003, Nate Lawson wrote:

>> This appears to be a pthreads problem, not scsi.  Anyone care to look at
>> it?

> This will be an interesting fix ... since pthreads use non-blocking file
> descriptors underneath, fixing it may involve changing the semantics of
> non-blocking files.

>> The interesting thing is that when the program
>> works, it gets a 0 status on a write, which
>> indicates that the tape is at the end of the
>> Logical EOF marker (or in other words, the
>> tape is almost full):

> I'm kind of curious what he's referring to here.  

Yes, I'm sorry, my description was not very clear or accurate.

What I wanted to say is that when writing to a tape at some
point you get a zero status back (i.e. no bytes written) this
indicates to the program that the logical end of tape (not EOF as
I wrote) has been reached. The logical end of tape is a marker
on the tape before the physical end of the tape.
If you stop writing when the logical end of tape is reached,
you are more or less guaranteed that any buffered blocks
will be correctly written to the tape.  If you continue writing
you eventually reach the physical end of the tape and the O/S
returns a -1 status and errno=ENOSPC.

> There are no EOF markers unless you write them yourself.  
> Does bakula require you to stripe tapes
> before use?

> -- 
> Doug White                    |  FreeBSD: The Power to Serve
> dwhite@gumbysoft.com          |  www.FreeBSD.org

Best regards,

Kern



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