[184] in linux-scsi channel archive
Re: SCSI disk SPIN-UP on pwr-up ?
daemon@ATHENA.MIT.EDU (Rob Janssen)
Fri May 19 19:05:47 1995
To: eric@aib.com (Eric Youngdale)
Date: Fri, 19 May 1995 23:18:17 +0200 (MET DST)
Cc: pe1chl@wab-tis.rabobank.nl, linux-scsi@vger.rutgers.edu
In-Reply-To: <9505191357.ZM25227@aib.com> from "Eric Youngdale" at May 19, 95 01:57:32 pm
Reply-To: pe1chl@wab-tis.rabobank.nl
From: rob@sys3.pe1chl.ampr.org (Rob Janssen)
According to Eric Youngdale:
> Most scsi drives have a jumper that indicates whether the drive
> should spin up at power up. The main point of doing this is that
> on large systems with lots of disks, the power supply is loaded fairly
> heavily if all of the disks attempt to spin up simultanously.
I know, but the original poster claimed his disks did not have it....
> Yes. After we have detected the disks themselves, send the
> TEST_UNIT_READY command to see whether the disk is up or not. If not,
> we send the START_STOP command which instructs the drive to spin up.
> Again, we do this one drive at a time to minimize power supply loading.
Sure, but it may fail in the way described below.
(some people mention it works for them, but of course it will work when
the drive does not send UNIT_ATTENTION, or when that has already been
cleared by the BOOT PROM)
> > I checked that part in hd.c and there may be a problem with it.
> > At the start of the function sd_init_onedisk a comment says:
> >
> > /* We need to retry the READ_CAPACITY because a UNIT_ATTENTION is
> considered
> > a fatal error, and many devices report such an error just after a
> scsi
> > bus reset. */
> >
> > But then, code has been inserted below that (and before the READ_CAPACITY)
> > that does not re-try the operation.
> > Probably the TEST_UNIT_READY fails with an error, and the disks are not
> > spun up.
> > Who added this spin-up code? Did it work?
>
> I added it, but I never had a way of testing it. Some people
> reported that it worked - my guess is that if the sense code is
> UNIT_ATTENTION, we just need to retry the TEST_UNIT_READY.
Yes, I think it should be changed to do the re-trying mentioned in the
comment on the TEST_UNIT_READY command instead of on the later
READ_CAPACITY command which apparently was the first command before.
Rob
--
+------------------------------------+--------------------------------------+
| Rob Janssen rob@knoware.nl | AMPRnet: rob@pe1chl.ampr.org |
| e-mail: pe1chl@wab-tis.rabobank.nl | AX.25 BBS: PE1CHL@PI8WNO.#UTR.NLD.EU |
+------------------------------------+--------------------------------------+