(Fwd) Re: SCSI tape data loss

Kern Sibbald kern at sibbald.com
Wed Aug 27 12:38:19 PDT 2003


Hello,


On Wed, 2003-08-27 at 20:29, Nate Lawson wrote:
> On Wed, 27 Aug 2003, Dan Langille wrote:
> > On 27 Aug 2003 at 11:06, Nate Lawson wrote:
> > > Here is a response I got by forwarding this to the pthreads maintainer:
> > > > A return status of 0 from write is not interpreted as an End-Of-Tape.
> > > > The threads library isn't smart enough to know that the file
> > > > is a tape device and that a 0 status should break it out of the
> > > > loop.  Thus, it continues writing.
> > > >
> > > > Use libkse :-)
> > > >
> > > > --
> > > > Dan Eischen
> >
> > Nate: thanks for getting in touch with him.
> >
> > It is interesting to note that the code works OK on Linux and
> > Solaris.  Why is FreeBSD different in this case?
> 
> I don't know.  Our pthreads implementation is purely userland so it's
> likely that it is difficult to differentiate a non-blocking read from an
> EOF.

Perhaps FreeBSD is different from Linux, but my understanding of
non-blocking reads is that you get a -1 status with errno set
to EWOULDBLOCK (or EAGAIN), while an EOF should return a
0 status.

Best regards,

Kern

> 
> > Kern: I can't comment on libkse.  I don't know it and I don't know
> > what effect it would have on Bacula.
> 
> libkse is a drop-in replacement for libpthreads.  Unfortunately, it's only
> on 5.x.
> 
> -Nate
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/freebsd-scsi/attachments/20030827/7e1cb84e/attachment.bin


More information about the freebsd-scsi mailing list