Print this page
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-5665 SMB2 oplock leases
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
NEX-5665 SMB2 oplock leases
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
NEX-5566 libsqlite always rebuilds after illumos 6648
Reviewed by: Steve Peng <steve.peng@nexenta.com>
NEX-5357 recursive mutex detection in libfakekernel
Reviewed by: Matt Barden <matt.barden@nexenta.com>
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>
SMB-70 Hang during boot after SMB-50
SMB-50 User-mode SMB server
 Includes work by these authors:
 Thomas Keiser <thomas.keiser@nexenta.com>
 Albert Lee <trisk@nexenta.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libfakekernel/common/printf.c
          +++ new/usr/src/lib/libfakekernel/common/printf.c
↓ open down ↓ 13 lines elided ↑ open up ↑
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  23   23   * Copyright (c) 2012 by Delphix. All rights reserved.
  24      - * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
       24 + * Copyright 2017 Nexenta Systems, Inc.  All rights reserved.
  25   25   * Copyright 2017 RackTop Systems.
  26   26   */
  27   27  
  28   28  #include <sys/param.h>
  29   29  #include <sys/types.h>
  30   30  #include <sys/varargs.h>
  31   31  #include <sys/systm.h>
  32   32  #include <sys/cmn_err.h>
  33   33  #include <sys/log.h>
  34   34  
  35   35  #include <fakekernel.h>
  36   36  
  37   37  void    abort(void) __NORETURN;
       38 +void    debug_enter(char *);
  38   39  
  39   40  char *volatile panicstr;
  40   41  va_list  panicargs;
  41   42  char panicbuf[512];
  42   43  
  43   44  volatile int aok;
  44   45  
  45   46  static const int
  46   47  ce_flags[CE_IGNORE] = { SL_NOTE, SL_NOTE, SL_WARN, SL_FATAL };
  47   48  static const char
↓ open down ↓ 44 lines elided ↑ open up ↑
  92   93          msgp = bufp;
  93   94          msgp += snprintf(msgp, bufend - msgp, "[fake_kernel] ");
  94   95          msgp += snprintf(msgp, bufend - msgp, prefix);
  95   96          msgp += vsnprintf(msgp, bufend - msgp, fmt, adx);
  96   97          msgp += snprintf(msgp, bufend - msgp, suffix);
  97   98          len = msgp - bufp;
  98   99  
  99  100          fakekernel_putlog(bufp, len, flags);
 100  101  }
 101  102  
      103 +/* ARGSUSED */
      104 +void
      105 +vzprintf(zoneid_t zoneid, const char *fmt, va_list adx)
      106 +{
      107 +        fakekernel_cprintf(fmt, adx, SL_CONSOLE | SL_NOTE, "", "");
      108 +}
      109 +
      110 +/*PRINTFLIKE2*/
      111 +void
      112 +zprintf(zoneid_t zoneid, const char *fmt, ...)
      113 +{
      114 +        va_list adx;
      115 +
      116 +        va_start(adx, fmt);
      117 +        vzprintf(zoneid, fmt, adx);
      118 +        va_end(adx);
      119 +}
      120 +
 102  121  /*
 103  122   * "User-level crash dump", if you will.
 104  123   */
 105  124  void
 106  125  vpanic(const char *fmt, va_list adx)
 107  126  {
 108  127          va_list tmpargs;
 109  128  
 110  129          panicstr = (char *)fmt;
 111  130          va_copy(panicargs, adx);
 112  131  
 113  132          va_copy(tmpargs, adx);
 114  133          fakekernel_cprintf(fmt, tmpargs, SL_FATAL, "fatal: ", "\n");
 115  134  
 116  135          /* Call libc`assfail() so that mdb ::status works */
 117  136          (void) vsnprintf(panicbuf, sizeof (panicbuf), fmt, adx);
 118      -        assfail(panicbuf, "(panic)", 0);
      137 +        debug_enter(panicbuf);
      138 +        (void) assfail(panicbuf, "(panic)", 0);
 119  139  
 120  140          abort();        /* avoid "noreturn" warnings */
 121  141  }
 122  142  
 123  143  void
 124  144  panic(const char *fmt, ...)
 125  145  {
 126  146          va_list adx;
 127  147  
 128  148          va_start(adx, fmt);
↓ open down ↓ 26 lines elided ↑ open up ↑
 155  175  
 156  176  /*PRINTFLIKE2*/
 157  177  void
 158  178  cmn_err(int ce, const char *fmt, ...)
 159  179  {
 160  180          va_list adx;
 161  181  
 162  182          va_start(adx, fmt);
 163  183          vcmn_err(ce, fmt, adx);
 164  184          va_end(adx);
      185 +}
      186 +
      187 +/* ARGSUSED */
      188 +void
      189 +debug_enter(char *str)
      190 +{
      191 +        /* Just a place for a break point. */
 165  192  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX