diff options
| author | Jerry Jelinek <jerry.jelinek@joyent.com> | 2016-02-04 18:08:21 +0000 |
|---|---|---|
| committer | Jerry Jelinek <jerry.jelinek@joyent.com> | 2016-02-04 18:08:21 +0000 |
| commit | f13e7d60575604d9d02fd12ce871729dc2e73b7d (patch) | |
| tree | 491a8b819b85c49cd27f1915beb529512be02862 /usr/src/cmd/devfsadm | |
| parent | 0e08080c57a8dbbbf4eeb790edc912a174042c58 (diff) | |
| download | illumos-joyent-f13e7d60575604d9d02fd12ce871729dc2e73b7d.tar.gz | |
OS-5070 missing autofs dev ioctls - automounter restart recovery doesn't work
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Diffstat (limited to 'usr/src/cmd/devfsadm')
| -rw-r--r-- | usr/src/cmd/devfsadm/i386/lx_link_i386.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/usr/src/cmd/devfsadm/i386/lx_link_i386.c b/usr/src/cmd/devfsadm/i386/lx_link_i386.c index 855f4f7383..4f8a17b655 100644 --- a/usr/src/cmd/devfsadm/i386/lx_link_i386.c +++ b/usr/src/cmd/devfsadm/i386/lx_link_i386.c @@ -22,18 +22,19 @@ /* * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. + * Copyright 2016 Joyent, Inc. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #include <devfsadm.h> #include <strings.h> #include <stdio.h> #include <sys/lx_ptm.h> #include <sys/lx_audio.h> +#include <sys/lx_autofs.h> static int lx_ptm(di_minor_t minor, di_node_t node); static int lx_audio(di_minor_t minor, di_node_t node); +static int lx_autofs(di_minor_t minor, di_node_t node); static int lx_systrace(di_minor_t minor, di_node_t node); static devfsadm_create_t lx_create_cbt[] = { @@ -41,6 +42,8 @@ static devfsadm_create_t lx_create_cbt[] = { TYPE_EXACT | DRV_EXACT, ILEVEL_0, lx_ptm }, { "pseudo", "ddi_pseudo", LX_AUDIO_DRV, TYPE_EXACT | DRV_EXACT, ILEVEL_0, lx_audio }, + { "pseudo", "ddi_pseudo", LX_AUTOFS_NAME, + TYPE_EXACT | DRV_EXACT, ILEVEL_0, lx_autofs }, { "pseudo", "ddi_pseudo", "lx_systrace", TYPE_EXACT | DRV_EXACT, ILEVEL_0, lx_systrace }, }; @@ -74,6 +77,17 @@ lx_audio(di_minor_t minor, di_node_t node) } static int +lx_autofs(di_minor_t minor, di_node_t node) +{ + char *mname = di_minor_name(minor); + + if (strcmp(LX_AUTOFS_MINORNAME, mname) == 0) + (void) devfsadm_mklink("brand/lx/autofs", node, minor, 0); + + return (DEVFSADM_CONTINUE); +} + +static int lx_systrace(di_minor_t minor, di_node_t node) { char *mname = di_minor_name(minor); |
