Messages in this thread | | | Date | Wed, 2 Apr 2008 08:09:44 +0300 (EEST) | From | Kai Makisara <> | Subject | Re: Slow tape drive timeout |
| |
On Tue, 1 Apr 2008, Carlo Nyto wrote:
> I am experiencing a two minute timeout open()ing a tape device when > there is no tape in the drive. > > open() with O_NONBLOCK succeeds immediately, however. > This is how open() is supposed to work according to standards (e.g., SUS) if O_NONBLOCK is supported. (Well, actually open() should wait indefinitely but the non-linux systems I tested had a timeout.) The linux st driver was changed to comply with standards at 2.5.3. I.e., the 2.4 kernels did return immediately but the 2.6 kernels have always waited.
> The problem is that I am trying to set up Legato on a system that has > multiple tape drives. For certain common operations, Legato tries to > open() each tape drive multiple times. On a system with multiple tape > drives, this adds up to a significant amount of time wasted due to > this timeout. > You are not the only person who has noticed this. At work we had to install a distribution using 2.4 kernel to our backup server in order to use Legato ;-(
But this is a Legato problem, not a kernel problem.
> Solaris does not have this problem, and Legato support advises that > they are at the mercy of the operating system. > Solaris does return EIO. Either it does not support O_NONBLOCK or it is not compliant with SUS.
Legato would not be so much "at the mercy of the operating system" if they would write their software to work according to standards, not according to some operating system.
-- Kai
| |