diff options
| author | mlelstv <mlelstv@NetBSD.org> | 2014-11-04 07:51:54 +0000 |
|---|---|---|
| committer | mlelstv <mlelstv@NetBSD.org> | 2014-11-04 07:51:54 +0000 |
| commit | 0905bfabf18ad735e4ed2431c0d87c19dc783e3b (patch) | |
| tree | 1e70e9f44b965530711e67d6e03a64f517616e64 /sys/dev/ata | |
| parent | 3be4de993b071579209521d1705cc45ec826d9b1 (diff) | |
support DIOCMWEDGES ioctl.
Diffstat (limited to 'sys/dev/ata')
| -rw-r--r-- | sys/dev/ata/wd.c | 13 |
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; |
