summaryrefslogtreecommitdiff
path: root/sys/dev/ld.c
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/ld.c
parent3be4de993b071579209521d1705cc45ec826d9b1 (diff)
support DIOCMWEDGES ioctl.
Diffstat (limited to 'sys/dev/ld.c')
-rw-r--r--sys/dev/ld.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/sys/dev/ld.c b/sys/dev/ld.c
index 4819390271a..76cef94409d 100644
--- a/sys/dev/ld.c
+++ b/sys/dev/ld.c
@@ -1,4 +1,4 @@
-/* $NetBSD: ld.c,v 1.77 2014/10/11 12:01:27 mlelstv Exp $ */
+/* $NetBSD: ld.c,v 1.78 2014/11/04 07:51:54 mlelstv Exp $ */
/*-
* Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ld.c,v 1.77 2014/10/11 12:01:27 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ld.c,v 1.78 2014/11/04 07:51:54 mlelstv Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -555,6 +555,16 @@ ldioctl(dev_t dev, u_long cmd, void *addr, int32_t flag, struct lwp *l)
return (dkwedge_list(&sc->sc_dk, dkwl, l));
}
+
+ case DIOCMWEDGES:
+ {
+ if ((flag & FWRITE) == 0)
+ return (EBADF);
+
+ dkwedge_discover(&sc->sc_dk);
+ return 0;
+ }
+
case DIOCGSTRATEGY:
{
struct disk_strategy *dks = (void *)addr;