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>

@@ -8,74 +8,112 @@
  * source.  A copy of the CDDL is also available via the Internet at
  * http://www.illumos.org/license/CDDL.
  */
 
 /*
- * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
+ * Copyright 2016 Nexenta Systems, Inc.  All rights reserved.
  * Copyright 2017 RackTop Systems.
  */
 
 #include <sys/types.h>
 #include <sys/kstat.h>
 #include <sys/systm.h>
 
 /*ARGSUSED*/
 kstat_t *
+kstat_create(const char *ks_module, int ks_instance, const char *ks_name,
+    const char *ks_class, uchar_t ks_type, uint_t ks_ndata, uchar_t ks_flags)
+{
+        return (NULL);
+}
+
+/*ARGSUSED*/
+kstat_t *
 kstat_create_zone(const char *ks_module, int ks_instance, const char *ks_name,
     const char *ks_class, uchar_t ks_type, uint_t ks_ndata, uchar_t ks_flags,
     zoneid_t ks_zoneid)
 {
         return (NULL);
 }
 
 /*ARGSUSED*/
+void
+kstat_delete(kstat_t *ksp)
+{}
+
+/*ARGSUSED*/
 kstat_t *
-kstat_create(const char *ks_module, int ks_instance, const char *ks_name,
-    const char *ks_class, uchar_t ks_type, uint_t ks_ndata, uchar_t ks_flags)
+kstat_hold_byname(const char *ks_module, int ks_instance, const char *ks_name,
+    zoneid_t ks_zoneid)
 {
         return (NULL);
 }
 
 /*ARGSUSED*/
 void
-kstat_named_init(kstat_named_t *knp, const char *name, uchar_t type)
+kstat_install(kstat_t *ksp)
 {}
 
 /*ARGSUSED*/
 void
-kstat_install(kstat_t *ksp)
+kstat_named_init(kstat_named_t *knp, const char *name, uchar_t type)
 {}
 
 /*ARGSUSED*/
 void
-kstat_delete(kstat_t *ksp)
+kstat_named_setstr(kstat_named_t *knp, const char *src)
 {}
 
 /*ARGSUSED*/
 void
-kstat_waitq_enter(kstat_io_t *kiop)
+kstat_rele(kstat_t *ksp)
 {}
 
 /*ARGSUSED*/
 void
-kstat_waitq_exit(kstat_io_t *kiop)
+kstat_runq_back_to_waitq(kstat_io_t *kiop)
 {}
 
 /*ARGSUSED*/
 void
 kstat_runq_enter(kstat_io_t *kiop)
 {}
 
 /*ARGSUSED*/
 void
+kstat_runq_enter_time(kstat_io_t *kiop, hrtime_t t)
+{}
+
+/*ARGSUSED*/
+void
 kstat_runq_exit(kstat_io_t *kiop)
 {}
 
 /*ARGSUSED*/
 void
-kstat_waitq_to_runq(kstat_io_t *kiop)
+kstat_runq_exit_time(kstat_io_t *kiop, hrtime_t t)
 {}
 
 /*ARGSUSED*/
 void
-kstat_runq_back_to_waitq(kstat_io_t *kiop)
+kstat_waitq_enter(kstat_io_t *kiop)
+{}
+
+/*ARGSUSED*/
+void
+kstat_waitq_enter_time(kstat_io_t *kiop, hrtime_t t)
+{}
+
+/*ARGSUSED*/
+void
+kstat_waitq_exit(kstat_io_t *kiop)
+{}
+
+/*ARGSUSED*/
+void
+kstat_waitq_exit_time(kstat_io_t *kiop, hrtime_t t)
+{}
+
+/*ARGSUSED*/
+void
+kstat_waitq_to_runq(kstat_io_t *kiop)
 {}