summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/sys/strsubr.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/sys/strsubr.h')
-rw-r--r--usr/src/uts/common/sys/strsubr.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/usr/src/uts/common/sys/strsubr.h b/usr/src/uts/common/sys/strsubr.h
index ce86badfc1..306a2f6b29 100644
--- a/usr/src/uts/common/sys/strsubr.h
+++ b/usr/src/uts/common/sys/strsubr.h
@@ -27,6 +27,10 @@
* Use is subject to license terms.
*/
+/*
+ * Copyright 2019 OmniOS Community Edition (OmniOSce) Association.
+ */
+
#ifndef _SYS_STRSUBR_H
#define _SYS_STRSUBR_H
@@ -242,6 +246,17 @@ typedef struct stdata {
uint_t sd_copyflag; /* copy-related flags */
zoneid_t sd_anchorzone; /* Allow removal from same zone only */
struct msgb *sd_cmdblk; /* reply from _I_CMD */
+
+ /*
+ * When a STREAMS device is cloned, the sd_vnode element of this
+ * structure is replaced by a pointer to a common vnode shared across
+ * all streams that are using the device. In this case, it is no longer
+ * possible to get from the stream head back to the original vnode via
+ * sd_vnode. Therefore, when such a device is cloned, the parent vnode -
+ * i.e. that which was created during the device clone in spec_clone()
+ * - is kept in sd_pvnode.
+ */
+ struct vnode *sd_pvnode;
} stdata_t;
/*