Skip site navigation (1)Skip section navigation (2)
Date:      17 Jan 2001 05:18:45 +0100
From:      Cyrille Lefevre <clefevre@citeweb.net>
To:        "Kenneth D. Merry" <ken@kdm.org>
Cc:        clefevre@poboxes.com, freebsd-scsi@FreeBSD.ORG
Subject:   Re: SCSI suspend/resume
Message-ID:  <bst6olp6.fsf@gits.dyndns.org>
In-Reply-To: "Kenneth D. Merry"'s message of "Fri, 12 Jan 2001 21:12:18 -0700"
References:  <d7dshzi1.fsf@gits.dyndns.org> <20010112211218.A32720@panzer.kdm.org>

next in thread | previous in thread | raw e-mail | index | archive | help
"Kenneth D. Merry" <ken@kdm.org> writes:

sorry for the late answer, but I can't "spin down" my drives until now.

> On Sat, Jan 13, 2001 at 05:01:10 +0100, Cyrille Lefevre wrote:
> > Is there a way to suspend/resume SCSI devices as IDE devices does ?
> > 
> > currently, if an SCSI device is manually suspended using camcontrol,
> > it couldn't be automatically resumed except using camcontrol as well.
> 
> The only thing I can figure you mean by "suspend" is "spin down".
> 
> You can do that with camcontrol, like this:
> 
> camcontrol stop da0

yes, I know that.

> As soon as you try to access the drive, the SCSI subsystem will spin it
> back up.  You can also spin a drive up with camcontrol:
> 
> camcontrol start da0

yes, but those thing cannot be made automatically by the kernel as this
is done for IDE devices.

> > while EDI devices maybe suspended/resumed through apm -z...
> 
> EDI devices?  What are those?

typo, read IDE.

what do I mean is... on zzz (apm -Z), IDE drives are slept and waiked
u[ automatically by the kernel. and it seems there is no equivalent
way to do this for SCSI devices. try the following sequence :

# grep /disk[12] /etc/fstab
/dev/ad0s1a             /disk1          ufs     rw              1       2
/dev/da1s1a             /disk2          ufs     rw              1       2
# df
Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
/dev/da0s1a   1904559  1720449    31746    98%    /
/dev/ad0s1a   1904559  1655671    96524    94%    /disk1
/dev/da1s1a   2031922  1872260    -2891   100%    /disk2
(yes, I know, I'm almost full :)
# umount /disk1
# umount /disk2
# zzz
(you heard that disk1 is spinning down, but not disk2, so)
# camcontrol stop da1
# mount /disk1
(no problem, disk1 is waiked up and mounted)
# mount /disk2
(oops)
Jan 17 05:01:57 <kern.crit> gits /kernel: (da1:sym0:0:4:0): . CDB: 8 0 0 0 1 0
Jan 17 05:01:57 <kern.crit> gits /kernel: (da1:sym0:0:4:0): NOT READY asc:4,2
Jan 17 05:01:57 <kern.crit> gits /kernel: (da1:sym0:0:4:0):  field replaceable unit: 2
Jan 17 05:01:57 <kern.crit> gits /kernel: da1: reading primary partition table: error reading fsbn 0
Jan 17 05:09:40 <kern.crit> gits /kernel: (da1:sym0:0:4:0): . CDB: 8 0 0 0 1 0
# camcontrol stop da1
Unit started successfully
# mount /disk2
(ok)

do you understand what I mean ?

PS : don't do that if you have any swap space on an SCSI drive or you're dead.

Cyrille.
--
home: mailto:clefevre@citeweb.net work: mailto:Cyrille.Lefevre@edf.fr


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bst6olp6.fsf>