summaryrefslogtreecommitdiff
path: root/sys/dev/ata
diff options
context:
space:
mode:
authormlelstv <mlelstv@NetBSD.org>2014-11-04 07:51:54 +0000
committermlelstv <mlelstv@NetBSD.org>2014-11-04 07:51:54 +0000
commit0905bfabf18ad735e4ed2431c0d87c19dc783e3b (patch)
tree1e70e9f44b965530711e67d6e03a64f517616e64 /sys/dev/ata
parent3be4de993b071579209521d1705cc45ec826d9b1 (diff)
support DIOCMWEDGES ioctl.
Diffstat (limited to 'sys/dev/ata')
-rw-r--r--sys/dev/ata/wd.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/sys/dev/ata/wd.c b/sys/dev/ata/wd.c
index de84d8b04ca..c12eaa66640 100644
--- a/sys/dev/ata/wd.c
+++ b/sys/dev/ata/wd.c
@@ -1,4 +1,4 @@
-/* $NetBSD: wd.c,v 1.414 2014/10/11 14:05:11 mlelstv Exp $ */
+/* $NetBSD: wd.c,v 1.415 2014/11/04 07:51:55 mlelstv Exp $ */
/*
* Copyright (c) 1998, 2001 Manuel Bouyer. All rights reserved.
@@ -54,7 +54,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wd.c,v 1.414 2014/10/11 14:05:11 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wd.c,v 1.415 2014/11/04 07:51:55 mlelstv Exp $");
#include "opt_ata.h"
@@ -1510,6 +1510,15 @@ wdioctl(dev_t dev, u_long xfer, void *addr, int flag, struct lwp *l)
return (dkwedge_list(&wd->sc_dk, dkwl, l));
}
+ case DIOCMWEDGES:
+ {
+ if ((flag & FWRITE) == 0)
+ return (EBADF);
+
+ dkwedge_discover(&wd->sc_dk);
+ return 0;
+ }
+
case DIOCGSTRATEGY:
{
struct disk_strategy *dks = (void *)addr;