Print this page
9042 multiples of tty streams modules cause weirdness
Reviewed by: Randy Fishel <randyf@sibernet.com>
Reviewed by: Carlos Neira <cneirabustos@gmail.com>
Approved by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
NEX-16818 Add fksmbcl development tool
NEX-17264 SMB client test tp_smbutil_013 fails after NEX-14666
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Matt Barden <matt.barden@nexenta.com>
and: (fix ref leaks)
NEX-4083 Upstream changes from illumos 5917 and 5995
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
re #13613 rb4516 Tunables needs volatile keyword

@@ -19,11 +19,15 @@
  * CDDL HEADER END
  */
 /*
  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
+ * Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
  */
+/*
+ * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
+ */
 
 /*      Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
 /*        All Rights Reserved   */
 
 

@@ -32,11 +36,11 @@
 
 /*
  * For source compatibility
  */
 #include <sys/isa_defs.h>
-#ifdef _KERNEL
+#if defined(_KERNEL) || defined(_FAKE_KERNEL)
 #include <sys/kmem.h>
 #include <sys/uio.h>
 #endif
 #include <sys/poll.h>
 #include <sys/strmdep.h>

@@ -187,10 +191,12 @@
 #define _QINSERTING     0x04000000      /* Private, module is being inserted */
 #define _QREMOVING      0x08000000      /* Private, module is being removed */
 #define _QASSOCIATED    0x10000000      /* queue is associated with a device */
 #define _QDIRECT        0x20000000      /* Private; transport module uses */
                                         /* direct interface to/from sockfs */
+#define _QSINGLE_INSTANCE       0x40000000      /* Private; module may only */
+                                                /* be pushed once */
 
 /* queue sqflags (protected by SQLOCK). */
 #define Q_SQQUEUED      0x01            /* Queue is in the syncq list */
 #define Q_SQDRAINING    0x02            /* Servicing syncq msgs.        */
                                         /* This is also noted by the    */

@@ -622,11 +628,11 @@
 #define SO_ERROPT       0x040000        /* set error option */
 #define SO_COPYOPT      0x080000        /* copy option(s) present */
 #define SO_MAXBLK       0x100000        /* set maximum message block size */
 #define SO_TAIL         0x200000        /* set the extra allocated space */
 
-#ifdef _KERNEL
+#if defined(_KERNEL) || defined(_FAKE_KERNEL)
 /*
  * Structure for rw (read/write) procedure calls. A pointer
  * to a struiod_t is passed as a parameter to the rwnext() call.
  *
  * Note: DEF_IOV_MAX is defined and used as it is in "fs/vncalls.c"

@@ -750,11 +756,11 @@
 /*
  * Find the max size of data block.
  */
 #define bpsize(bp) ((unsigned int)(bp->b_datap->db_lim - bp->b_datap->db_base))
 
-#ifdef _KERNEL
+#if defined(_KERNEL) || defined(_FAKE_KERNEL)
 
 /*
  * For two-byte M_ERROR messages: indication that a side does not have an error
  */
 #define NOERROR ((unsigned char)-1)

@@ -837,11 +843,11 @@
 extern int mp_cont_len(mblk_t *, int *);
 
 /*
  * shared or externally configured data structures
  */
-extern int nstrpush;                    /* maximum number of pushes allowed */
+extern volatile int nstrpush;           /* maximum number of pushes allowed */
 
 #endif /* _KERNEL */
 
 #ifdef  __cplusplus
 }