Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Jan 1997 23:13:16 -0700
From:      Warner Losh <imp@village.org>
To:        scsi@freebsd.org
Subject:   Question about the scsi sub system.
Message-ID:  <E0vo1Ma-00025B-00@rover.village.org>

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

OK.  I'm trying to track down why my Jaz drive spins up when it is
supposed to on file system access, but not when the raw device is
accessed....

In tracing down code paths, I would assume that when the raw device is
access, it is done via the character device.  I was half expecting
there to be a cdevsw struct in sd.c that would tell me what I needed
to know, however, it appears that one is just blank, filled in
elsewhere.  Where is this elsewhere?  And what is it filled in with?

Also, does anybody have any theories about why this would have stopped
working sometime during the late summer and fall while my tape drive
was on walkabout?

What I'm seeing is the following on the console and /var/log/messages:
Jan 23 05:48:43 rover /kernel: sd1(uha0:3:0): NOT READY asc:4,0
Jan 23 05:48:43 rover /kernel: sd1(uha0:3:0):  Logical unit not ready, cause not reportable

whenever I touch the raw device (say with dump) when it has spun
down.  I don't get these messages when I go through the file system.
Once I get this error, it is the kiss of death for that device and all
further attempts return I/O error, even through the file system.

Pointers to things are fine (and appreciated), since I'm also doing
this to learn parts of the kernel better than I've had the chance to
to date.  Thank you for any help that you can render in my efforts.

Warner




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E0vo1Ma-00025B-00>