summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgrog <grog@FreeBSD.org>1999-06-24 08:54:09 +0000
committergrog <grog@FreeBSD.org>1999-06-24 08:54:09 +0000
commit49d2ee55e519f1ee1d324ac9aa287900828449b8 (patch)
treef9050b0ee4a67510f21428309f60259c2c0cd2b5
parentd5fdb124e1b71ed407a82668653e5e8835e9e9e3 (diff)
downloadFreeBSD-src-49d2ee55e519f1ee1d324ac9aa287900828449b8.zip
FreeBSD-src-49d2ee55e519f1ee1d324ac9aa287900828449b8.tar.gz
Implement daemonrq_closedrive function to close a drive.
-rw-r--r--sys/dev/vinum/vinumdaemon.c5
-rw-r--r--sys/dev/vinum/vinumext.h3
2 files changed, 7 insertions, 1 deletions
diff --git a/sys/dev/vinum/vinumdaemon.c b/sys/dev/vinum/vinumdaemon.c
index e97f6d0..3295d15 100644
--- a/sys/dev/vinum/vinumdaemon.c
+++ b/sys/dev/vinum/vinumdaemon.c
@@ -147,10 +147,15 @@ vinum_daemon(void)
wakeup(&vinum_finddaemon); /* wake up the caller */
break;
+ case daemonrq_closedrive: /* close a drive */
+ close_drive(request->info.drive); /* do it */
+ break;
+
case daemonrq_init: /* initialize a plex */
/* XXX */
case daemonrq_revive: /* revive a subdisk */
/* XXX */
+ /* FALLTHROUGH */
default:
log(LOG_WARNING, "Invalid request\n");
break;
diff --git a/sys/dev/vinum/vinumext.h b/sys/dev/vinum/vinumext.h
index 071afdf..f7125f1 100644
--- a/sys/dev/vinum/vinumext.h
+++ b/sys/dev/vinum/vinumext.h
@@ -33,7 +33,7 @@
* otherwise) arising in any way out of the use of this software, even if
* advised of the possibility of such damage.
*
- * $Id: vinumext.h,v 1.15 1999/05/07 08:07:09 grog Exp $
+ * $Id: vinumext.h,v 1.19 1999/03/23 02:57:04 grog Exp grog $
*/
/* vinumext.h: external definitions */
@@ -108,6 +108,7 @@ void remove_volume_entry(int volno, int force, int recurse);
void checkdiskconfig(char *);
int open_drive(struct drive *, struct proc *, int);
void close_drive(struct drive *drive);
+void close_locked_drive(struct drive *drive);
int driveio(struct drive *, char *, size_t, off_t, int);
int set_drive_parms(struct drive *drive);
int init_drive(struct drive *, int);
OpenPOWER on IntegriCloud