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,81 **** * 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 2017 RackTop Systems. */ #include <sys/types.h> #include <sys/kstat.h> #include <sys/systm.h> /*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*/ 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*/ void ! kstat_named_init(kstat_named_t *knp, const char *name, uchar_t type) {} /*ARGSUSED*/ void ! kstat_install(kstat_t *ksp) {} /*ARGSUSED*/ void ! kstat_delete(kstat_t *ksp) {} /*ARGSUSED*/ void ! kstat_waitq_enter(kstat_io_t *kiop) {} /*ARGSUSED*/ void ! kstat_waitq_exit(kstat_io_t *kiop) {} /*ARGSUSED*/ void kstat_runq_enter(kstat_io_t *kiop) {} /*ARGSUSED*/ void kstat_runq_exit(kstat_io_t *kiop) {} /*ARGSUSED*/ void ! kstat_waitq_to_runq(kstat_io_t *kiop) {} /*ARGSUSED*/ void ! kstat_runq_back_to_waitq(kstat_io_t *kiop) {} --- 8,119 ---- * source. A copy of the CDDL is also available via the Internet at * http://www.illumos.org/license/CDDL. */ /* ! * 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_hold_byname(const char *ks_module, int ks_instance, const char *ks_name, ! zoneid_t ks_zoneid) { return (NULL); } /*ARGSUSED*/ void ! kstat_install(kstat_t *ksp) {} /*ARGSUSED*/ void ! kstat_named_init(kstat_named_t *knp, const char *name, uchar_t type) {} /*ARGSUSED*/ void ! kstat_named_setstr(kstat_named_t *knp, const char *src) {} /*ARGSUSED*/ void ! kstat_rele(kstat_t *ksp) {} /*ARGSUSED*/ void ! 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_runq_exit_time(kstat_io_t *kiop, hrtime_t t) {} /*ARGSUSED*/ void ! 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) {}