lkml.org 
[lkml]   [2008]   [Apr]   [3]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateWed, 02 Apr 2008 22:21:13 -0600
FromRobert Hancock <>
SubjectRe: Slow tape drive timeout
Kai Makisara wrote:
> 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.

Why is accessing the tape drive with no tape in it causing a timeout in 
the first place? I should think that would fail immediately with some 
"medium not present" error from the drive. Unless the drive has no 
mechanism to detect it, but that seems really retarded..


\
 
 \ /
  Last update: 2008-04-03 06:27    [from the cache]
©2003-2008