diff options
Diffstat (limited to 'usr/src/cmd/devfsadm/sparc')
-rw-r--r-- | usr/src/cmd/devfsadm/sparc/misc_link_sparc.c | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/usr/src/cmd/devfsadm/sparc/misc_link_sparc.c b/usr/src/cmd/devfsadm/sparc/misc_link_sparc.c index ee2c059b24..0d0aa692bd 100644 --- a/usr/src/cmd/devfsadm/sparc/misc_link_sparc.c +++ b/usr/src/cmd/devfsadm/sparc/misc_link_sparc.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -33,6 +32,9 @@ #include <stdlib.h> #include <limits.h> #include <sys/mkdev.h> +#include <bsm/devalloc.h> + +extern int system_labeled; static int node_name(di_minor_t minor, di_node_t node); @@ -123,14 +125,19 @@ ddi_other(di_minor_t minor, di_node_t node) static int diskette(di_minor_t minor, di_node_t node) { - char *mn = di_minor_name(minor); + int flags = 0; + char *mn = di_minor_name(minor); + + if (system_labeled) + flags = DA_ADD|DA_FLOPPY; + if (strcmp(mn, "c") == 0) { - (void) devfsadm_mklink("diskette", node, minor, 0); - (void) devfsadm_mklink("diskette0", node, minor, 0); + (void) devfsadm_mklink("diskette", node, minor, flags); + (void) devfsadm_mklink("diskette0", node, minor, flags); } else if (strcmp(mn, "c,raw") == 0) { - (void) devfsadm_mklink("rdiskette", node, minor, 0); - (void) devfsadm_mklink("rdiskette0", node, minor, 0); + (void) devfsadm_mklink("rdiskette", node, minor, flags); + (void) devfsadm_mklink("rdiskette0", node, minor, flags); } return (DEVFSADM_CONTINUE); |