summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/sys/fs/sdev_impl.h
diff options
context:
space:
mode:
authoryz147064 <none@none>2008-01-23 18:09:15 -0800
committeryz147064 <none@none>2008-01-23 18:09:15 -0800
commitd62bc4badc1c1f1549c961cfb8b420e650e1272b (patch)
tree9f466859e9cfb73da13b64261432aba4683f19ad /usr/src/uts/common/sys/fs/sdev_impl.h
parentd38257c4392a9dd690c2f7f2383236c1fc80e509 (diff)
downloadillumos-gate-d62bc4badc1c1f1549c961cfb8b420e650e1272b.tar.gz
PSARC/2006/499 Clearview Nemo unification and vanity naming
PSARC/2007/527 Addendum for Clearview Vanity Naming and Nemo Unification PSARC/2008/002 Clearview UV Updates 6310766 vlan statistics get reset at unplumb time 6320515 dladm commands with "-R" option should not take effect immediately 6433732 Simplify the GLDv3 control path by making its processing asynchronous 6445912 dladm show-link fails to show a specific link in the debug version 6452413 dladm show-link doesn't show VLAN links for GLDv2 drivers 6504433 libwladm's use of wladm_wlresult2status() needs an overhaul 6504507 dladm set-linkprop failure message is unclear 6534289 DR should work with aggregations 6535719 dladm_aggr_port_attr_db_t`lp_devname should be MAXNAMELEN, not MAXNAMELEN + 1 6539634 GLDv3 should DL_ERROR_ACK a DL_UDQOS_REQ with DL_OUTSTATE when the stream is DL_UNATTACHED 6540246 libdladm should not guess zoneid from DLDIOCZIDGET ioctl errno 6544195 dladm show-dev assumes GLDv3 stats.. incompatible with GLDv2 6563295 dladm show-linkprop -P does not work properly for unavailable links 6577618 integrate network vanity naming and nemo unification 6600446 links assigned to a local zone are still aggregatable by global zone 6607572 "boot net - install" can trigger assertion failure in dld_str_attach() 6613956 "svccfg import -" does not work as bfu expects 6637596 invalid assertion in ip_soft_ring_assignment() 6642350 kernel DLPI processing routines are long overdue 6643338 GLDv3 PPA hack VLAN ID checks don't always work 6647203 bfu: smf_delete_manifest() does not work for non-global zones 6649885 DL_IB GLDv3 mactype plugin must fill in its mtr_nativetype 6650395 libuuid should be lint-clean and linted nightly --HG-- rename : usr/src/cmd/dladm/aggregation.conf => deleted_files/usr/src/cmd/dladm/aggregation.conf rename : usr/src/cmd/dladm/linkprop.conf => deleted_files/usr/src/cmd/dladm/linkprop.conf rename : usr/src/lib/libinetcfg/common/inetcfg_nic.c => deleted_files/usr/src/lib/libinetcfg/common/inetcfg_nic.c rename : usr/src/lib/libinetcfg/common/inetcfg_nic.h => deleted_files/usr/src/lib/libinetcfg/common/inetcfg_nic.h
Diffstat (limited to 'usr/src/uts/common/sys/fs/sdev_impl.h')
-rw-r--r--usr/src/uts/common/sys/fs/sdev_impl.h34
1 files changed, 25 insertions, 9 deletions
diff --git a/usr/src/uts/common/sys/fs/sdev_impl.h b/usr/src/uts/common/sys/fs/sdev_impl.h
index 281bc2faf7..7e5f75d7f7 100644
--- a/usr/src/uts/common/sys/fs/sdev_impl.h
+++ b/usr/src/uts/common/sys/fs/sdev_impl.h
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -193,6 +193,8 @@ typedef struct sdev_node {
struct sdev_global_data sdev_globaldata;
struct sdev_local_data sdev_localdata;
} sdev_instance_data;
+
+ void *sdev_private;
} sdev_node_t;
#define sdev_ldata sdev_instance_data.sdev_localdata
@@ -245,13 +247,16 @@ typedef enum {
} sdev_node_state_t;
/* sdev_flags */
-#define SDEV_BUILD 0x0001 /* directory cache out-of-date */
-#define SDEV_STALE 0x0002 /* stale sdev nodes */
-#define SDEV_GLOBAL 0x0004 /* global /dev nodes */
-#define SDEV_PERSIST 0x0008 /* backing store persisted node */
-#define SDEV_NO_NCACHE 0x0010 /* do not include in neg. cache */
-#define SDEV_DYNAMIC 0x0020 /* special-purpose vnode ops (ex: pts) */
-#define SDEV_VTOR 0x0040 /* validate sdev_nodes during search */
+#define SDEV_BUILD 0x0001 /* directory cache out-of-date */
+#define SDEV_STALE 0x0002 /* stale sdev nodes */
+#define SDEV_GLOBAL 0x0004 /* global /dev nodes */
+#define SDEV_PERSIST 0x0008 /* backing store persisted node */
+#define SDEV_NO_NCACHE 0x0010 /* do not include in neg. cache */
+#define SDEV_DYNAMIC 0x0020 /* special-purpose vnode ops */
+ /* (ex: pts) */
+#define SDEV_VTOR 0x0040 /* validate sdev_nodes during search */
+#define SDEV_ATTR_INVALID 0x0080 /* invalid node attributes, */
+ /* need update */
/* sdev_lookup_flags */
#define SDEV_LOOKUP 0x0001 /* node creation in progress */
@@ -339,6 +344,12 @@ extern int devname_setattr_func(struct vnode *, struct vattr *, int,
struct cred *, int (*)(struct sdev_node *, struct vattr *, int), int);
/*
+ * devname_inactive_func()
+ */
+extern void devname_inactive_func(struct vnode *, struct cred *,
+ void (*)(struct vnode *));
+
+/*
* /dev file system instance defines
*/
/*
@@ -607,6 +618,7 @@ extern int sdev_reserve_subdirs(struct sdev_node *);
extern int prof_lookup();
extern void prof_filldir(struct sdev_node *);
extern int devpts_validate(struct sdev_node *dv);
+extern int devnet_validate(struct sdev_node *dv);
extern void *sdev_get_vtor(struct sdev_node *dv);
/*
@@ -616,7 +628,6 @@ extern int sdev_modctl_readdir(const char *, char ***, int *, int *);
extern void sdev_modctl_readdir_free(char **, int, int);
extern int sdev_modctl_devexists(const char *);
-
/*
* ncache handlers
*/
@@ -637,9 +648,11 @@ extern int devtype;
extern kmem_cache_t *sdev_node_cache;
extern struct vnodeops *sdev_vnodeops;
extern struct vnodeops *devpts_vnodeops;
+extern struct vnodeops *devnet_vnodeops;
extern struct sdev_data *sdev_origins; /* mount info for global /dev instance */
extern const fs_operation_def_t sdev_vnodeops_tbl[];
extern const fs_operation_def_t devpts_vnodeops_tbl[];
+extern const fs_operation_def_t devnet_vnodeops_tbl[];
extern const fs_operation_def_t devsys_vnodeops_tbl[];
extern const fs_operation_def_t devpseudo_vnodeops_tbl[];
@@ -669,6 +682,7 @@ extern int sdev_debug;
#define SDEV_DEBUG_PROFILE 0x200 /* trace sdev_profile */
#define SDEV_DEBUG_MODCTL 0x400 /* trace modctl activity */
#define SDEV_DEBUG_FLK 0x800 /* trace failed lookups */
+#define SDEV_DEBUG_NET 0x1000 /* /dev/net tracing */
#define sdcmn_err(args) if (sdev_debug & SDEV_DEBUG) printf args
#define sdcmn_err2(args) if (sdev_debug & SDEV_DEBUG_VOPS) printf args
@@ -681,6 +695,7 @@ extern int sdev_debug;
#define sdcmn_err9(args) if (sdev_debug & SDEV_DEBUG_SDEV_NODE) printf args
#define sdcmn_err10(args) if (sdev_debug & SDEV_DEBUG_PROFILE) printf args
#define sdcmn_err11(args) if (sdev_debug & SDEV_DEBUG_MODCTL) printf args
+#define sdcmn_err12(args) if (sdev_debug & SDEV_DEBUG_NET) printf args
#define impossible(args) printf args
#else
#define sdcmn_err(args) /* does nothing */
@@ -694,6 +709,7 @@ extern int sdev_debug;
#define sdcmn_err9(args) /* does nothing */
#define sdcmn_err10(args) /* does nothing */
#define sdcmn_err11(args) /* does nothing */
+#define sdcmn_err12(args) /* does nothing */
#define impossible(args) /* does nothing */
#endif