Print this page
NEX-6308 namespace collision for per-share kstats when changing sharesmb property
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-6266 SMB kstats namespace collision for share names longer than 28 characters
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
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/kstat.c
          +++ new/usr/src/lib/libfakekernel/common/kstat.c
↓ open down ↓ 2 lines elided ↑ open up ↑
   3    3   * Common Development and Distribution License ("CDDL"), version 1.0.
   4    4   * You may only use this file in accordance with the terms of version
   5    5   * 1.0 of the CDDL.
   6    6   *
   7    7   * A full copy of the text of the CDDL should have accompanied this
   8    8   * source.  A copy of the CDDL is also available via the Internet at
   9    9   * http://www.illumos.org/license/CDDL.
  10   10   */
  11   11  
  12   12  /*
  13      - * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
       13 + * Copyright 2016 Nexenta Systems, Inc.  All rights reserved.
  14   14   * Copyright 2017 RackTop Systems.
  15   15   */
  16   16  
  17   17  #include <sys/types.h>
  18   18  #include <sys/kstat.h>
  19   19  #include <sys/systm.h>
  20   20  
  21   21  /*ARGSUSED*/
  22   22  kstat_t *
       23 +kstat_create(const char *ks_module, int ks_instance, const char *ks_name,
       24 +    const char *ks_class, uchar_t ks_type, uint_t ks_ndata, uchar_t ks_flags)
       25 +{
       26 +        return (NULL);
       27 +}
       28 +
       29 +/*ARGSUSED*/
       30 +kstat_t *
  23   31  kstat_create_zone(const char *ks_module, int ks_instance, const char *ks_name,
  24   32      const char *ks_class, uchar_t ks_type, uint_t ks_ndata, uchar_t ks_flags,
  25   33      zoneid_t ks_zoneid)
  26   34  {
  27   35          return (NULL);
  28   36  }
  29   37  
  30   38  /*ARGSUSED*/
       39 +void
       40 +kstat_delete(kstat_t *ksp)
       41 +{}
       42 +
       43 +/*ARGSUSED*/
  31   44  kstat_t *
  32      -kstat_create(const char *ks_module, int ks_instance, const char *ks_name,
  33      -    const char *ks_class, uchar_t ks_type, uint_t ks_ndata, uchar_t ks_flags)
       45 +kstat_hold_byname(const char *ks_module, int ks_instance, const char *ks_name,
       46 +    zoneid_t ks_zoneid)
  34   47  {
  35   48          return (NULL);
  36   49  }
  37   50  
  38   51  /*ARGSUSED*/
  39   52  void
  40      -kstat_named_init(kstat_named_t *knp, const char *name, uchar_t type)
       53 +kstat_install(kstat_t *ksp)
  41   54  {}
  42   55  
  43   56  /*ARGSUSED*/
  44   57  void
  45      -kstat_install(kstat_t *ksp)
       58 +kstat_named_init(kstat_named_t *knp, const char *name, uchar_t type)
  46   59  {}
  47   60  
  48   61  /*ARGSUSED*/
  49   62  void
  50      -kstat_delete(kstat_t *ksp)
       63 +kstat_named_setstr(kstat_named_t *knp, const char *src)
  51   64  {}
  52   65  
  53   66  /*ARGSUSED*/
  54   67  void
  55      -kstat_waitq_enter(kstat_io_t *kiop)
       68 +kstat_rele(kstat_t *ksp)
  56   69  {}
  57   70  
  58   71  /*ARGSUSED*/
  59   72  void
  60      -kstat_waitq_exit(kstat_io_t *kiop)
       73 +kstat_runq_back_to_waitq(kstat_io_t *kiop)
  61   74  {}
  62   75  
  63   76  /*ARGSUSED*/
  64   77  void
  65   78  kstat_runq_enter(kstat_io_t *kiop)
  66   79  {}
  67   80  
  68   81  /*ARGSUSED*/
  69   82  void
       83 +kstat_runq_enter_time(kstat_io_t *kiop, hrtime_t t)
       84 +{}
       85 +
       86 +/*ARGSUSED*/
       87 +void
  70   88  kstat_runq_exit(kstat_io_t *kiop)
  71   89  {}
  72   90  
  73   91  /*ARGSUSED*/
  74   92  void
  75      -kstat_waitq_to_runq(kstat_io_t *kiop)
       93 +kstat_runq_exit_time(kstat_io_t *kiop, hrtime_t t)
  76   94  {}
  77   95  
  78   96  /*ARGSUSED*/
  79   97  void
  80      -kstat_runq_back_to_waitq(kstat_io_t *kiop)
       98 +kstat_waitq_enter(kstat_io_t *kiop)
       99 +{}
      100 +
      101 +/*ARGSUSED*/
      102 +void
      103 +kstat_waitq_enter_time(kstat_io_t *kiop, hrtime_t t)
      104 +{}
      105 +
      106 +/*ARGSUSED*/
      107 +void
      108 +kstat_waitq_exit(kstat_io_t *kiop)
      109 +{}
      110 +
      111 +/*ARGSUSED*/
      112 +void
      113 +kstat_waitq_exit_time(kstat_io_t *kiop, hrtime_t t)
      114 +{}
      115 +
      116 +/*ARGSUSED*/
      117 +void
      118 +kstat_waitq_to_runq(kstat_io_t *kiop)
  81  119  {}
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX