Date: Sun, 18 Dec 2005 17:48:21 -0500 From: Matthew Jacob <lydianconcepts@gmail.com> To: Kern Sibbald <kern@sibbald.com> Cc: freebsd-scsi@freebsd.org Subject: Re: Tape drive handling on FreeBSD Message-ID: <7579f7fb0512181448x1dc4b3f4m9d5112cc6bc9fc1a@mail.gmail.com> In-Reply-To: <200512151122.34949.kern@sibbald.com> References: <200512151122.34949.kern@sibbald.com>
next in thread | previous in thread | raw e-mail | index | archive | help
The first paragraph of mtio(4) describes the usage of a control device. On 12/15/05, Kern Sibbald <kern@sibbald.com> wrote: > > Hello, > > We correponded a couple of years ago when Bacula was experiencing data > loss > at the end of tapes -- it turned out to be a pthreads bug that suppressed > the early end of tape warning. > > I have a new problem, and if you cannot help, please > direct me in the right direction. > > Basically Bacula (network backup program) needs to open() the tape drive > so > that it can read/write it. On both Linux and Solaris, it is possible to > open > the drive with O_NONBLOCK and get a descriptor that can be used for > ioctl() > calls and providing there is a tape in the drive, it can be used for > read() > and write(). > > On FreeBSD, if there is no tape in the drive, the OS always immediately > returns errno=3DENXIO "Device not configured". This means that on FreeBS= D, > if > there is no tape in the drive, that drive is totally unusable by > Bacula. Now > it seems to me that there are two solutions: > > 1. Modify Bacula and system dependent code that opens the control device > to > see if a tape drive is really there or not, and then rewrite the tape > driver > code to deal with the fact that if you cannot open a device, it may reall= y > be > there, and you should continue trying to open it between asking the user > to > mount it. This is clearly possible. > > 2. Consider implementing something in FreeBSD as exists on at least Linux > and > Solaris -- i.e. a means to open the drive and get a valid file descriptor= . > If you read/write/rewind/... a drive opened and there is no tape, it > should > either return EIO or better ENOMEDIUM. > > Comments? > > -- > Best regards, > > Kern > > ("> > /\ > V_V > > ------------------------------------------------------- > > -- > Best regards, > > Kern > > ("> > /\ > V_V > _______________________________________________ > freebsd-scsi@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-scsi > To unsubscribe, send any mail to "freebsd-scsi-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7579f7fb0512181448x1dc4b3f4m9d5112cc6bc9fc1a>