Print this page
NEX-19232 mutex_enter panic in fksmbd after 6209 libc mutexes...
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Conflicts:
    usr/src/lib/libfakekernel/common/mapfile-vers
    usr/src/lib/libfakekernel/common/mutex.c
    usr/src/lib/libfakekernel/common/sys/mutex.h
Much of this fix was taken care of with:
8809 libzpool should leverage work done in libfakekernel
Just minor bit remain, i.e. see default_mutex
NEX-16604 Windows 10 SMB client exhausts smbauth sockets
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
NEX-13644 File access audit logging
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
Reviewed by: Saso Kiselkov <saso.kiselkov@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
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-9808 SMB3 persistent handles
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@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-9808 SMB3 persistent handles
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@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-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>
NEX-3553 SMB2/3 durable handles
Reviewed by: Gordon Ross <gwr@nexenta.com>
Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com>
NEX-5599 SMB needs a pointer-based hash table for durable handles
Reviewed by: Gordon Ross <gwr@nexenta.com>
NEX-3776 SMB should handle PreviousSessionID
Reviewed by: Gordon Ross <gwr@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>
NEX-3738 Should support SMB2_CAP_LARGE_MTU
Reviewed by: Alek Pinchuk <alek@nexenta.com>
Reviewed by: Bayard Bell <bayard.bell@nexenta.com>
Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com>
Reviewed by: Matt Barden <Matt.Barden@nexenta.com>
NEX-3620 need upstream cleanups for smbsrv
Reviewed by: Hans Rosenfeld <hans.rosenfeld@nexenta.com>
NEX-2781 SMB2 credit handling needs work
NEX-2460 libfksmbd should not link with libsmb
NEX-2188 Browsing top level share produces RPC error 1728
SMB-70 Hang during boot after SMB-50 (fix elfchk noise)
SMB-70 Hang during boot after SMB-50
SMB-71 Panic in smb_thread_stop after SMB-65
SMB-50 User-mode SMB server (oops)
SMB-50 User-mode SMB server
 Includes work by these authors:
 Thomas Keiser <thomas.keiser@nexenta.com>
 Albert Lee <trisk@nexenta.com>
   1 #
   2 # This file and its contents are supplied under the terms of the
   3 # Common Development and Distribution License ("CDDL"), version 1.0.
   4 # You may only use this file in accordance with the terms of version
   5 # 1.0 of the CDDL.
   6 #
   7 # A full copy of the text of the CDDL should have accompanied this
   8 # source.  A copy of the CDDL is also available via the Internet at
   9 # http://www.illumos.org/license/CDDL.
  10 #
  11 
  12 #
  13 # Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
  14 # Copyright 2017 RackTop Systems.
  15 # Copyright 2018, Joyent, Inc.
  16 #
  17 
  18 #
  19 # MAPFILE HEADER START
  20 #
  21 # WARNING:  STOP NOW.  DO NOT MODIFY THIS FILE.
  22 # Object versioning must comply with the rules detailed in
  23 #
  24 #       usr/src/lib/README.mapfiles
  25 #
  26 # You should not be making modifications here until you've read the most current
  27 # copy of that file. If you need help, contact a gatekeeper for guidance.
  28 #
  29 # MAPFILE HEADER END
  30 #
  31 
  32 $mapfile_version 2
  33 
  34 SYMBOL_VERSION SUNWprivate_1.1 {
  35     global:
  36 
  37         _curcred;
  38         _curproc;
  39         _curthread;
  40         _curzone;
  41 
  42         aok             { FLAGS = NODIRECT };
  43         boot_time;
  44         cmn_err;

  45         copyinstr;

  46         copystr;
  47 
  48         cyclic_add;
  49         cyclic_remove;
  50         cyclic_reprogram;
  51 
  52         crfree;

  53         crgetuid;
  54         crgetruid;
  55         crgetgid;
  56         crgetngroups;
  57         crgetgroups;


  58         crhold;
  59 
  60         cv_broadcast;
  61         cv_destroy;
  62         cv_init;
  63         cv_reltimedwait;
  64         cv_reltimedwait_sig;
  65         cv_signal;
  66         cv_timedwait;
  67         cv_timedwait_sig;
  68         cv_timedwait_hires;
  69         cv_wait;
  70         cv_wait_sig;
  71 



  72         ddi_get_lbolt64;
  73         ddi_get_lbolt;
  74         ddi_get_pid;
  75         ddi_strtoul;
  76         ddi_strtoull;
  77 

  78         delay;
  79 
  80         fm_panic;
  81 
  82         fakekernel_cprintf      { FLAGS = NODIRECT };
  83         fakekernel_init;
  84         fakekernel_putlog       { FLAGS = NODIRECT };
  85 
  86         gethrestime;
  87         gethrestime_sec;
  88         gethrtime_unscaled;

  89 


  90         hz;
  91 
  92         highbit64;
  93 
  94         issig;
  95 
  96         kcred;
  97         kiconv;
  98         kiconv_close;
  99         kiconv_open;
 100 
 101         kmem_alloc;
 102         kmem_asprintf;
 103         kmem_cache_alloc;
 104         kmem_cache_create;
 105         kmem_cache_destroy;
 106         kmem_cache_free;
 107         kmem_cache_reap_active;
 108         kmem_cache_reap_soon;
 109         kmem_cache_set_move;
 110         kmem_debugging;
 111         kmem_free;
 112         kmem_zalloc;
 113 
 114         kmutex_destroy;
 115         kmutex_init;
 116         kmutex_enter;
 117         kmutex_exit;

 118 
 119         ksema_destroy;
 120         ksema_init;
 121 
 122         ksid_lookupdomain;
 123         ksiddomain_rele;
 124 
 125         ksocket_accept;
 126         ksocket_bind;
 127         ksocket_bind_helper     { FLAGS = NODIRECT };
 128         ksocket_close;
 129         ksocket_connect;
 130         ksocket_getpeername;
 131         ksocket_getsockname;
 132         ksocket_hold;
 133         ksocket_ioctl;
 134         ksocket_listen;
 135         ksocket_recv;
 136         ksocket_recvfrom;
 137         ksocket_recvmsg;
 138         ksocket_rele;
 139         ksocket_send;
 140         ksocket_sendmsg;
 141         ksocket_sendto;
 142         ksocket_setsockopt;
 143         ksocket_shutdown;
 144         ksocket_socket;
 145 
 146         kstat_create;
 147         kstat_create_zone;
 148         kstat_named_init;
 149         kstat_delete;

 150         kstat_install;
 151         kstat_waitq_enter;
 152         kstat_waitq_exit;


 153         kstat_runq_enter;

 154         kstat_runq_exit;





 155         kstat_waitq_to_runq;
 156         kstat_runq_back_to_waitq;
 157 
 158         msec_per_tick;
 159 
 160         mutex_owned;
 161         mutex_owner;
 162         mutex_tryenter;
 163 
 164         nsec_per_tick;
 165 
 166         ovbcopy;
 167         p0;
 168         panic;
 169         panicargs;
 170         panicstr;
 171 
 172         random_get_bytes;
 173         random_get_pseudo_bytes;
 174 
 175         rw_destroy;
 176         rw_downgrade;


 201         taskq_create;
 202         taskq_create_proc;
 203         taskq_create_sysdc;
 204         taskq_destroy;
 205         taskq_dispatch;
 206         taskq_dispatch_ent;
 207         taskq_empty;
 208         taskq_member;
 209         taskq_wait;
 210 
 211         thread_create;
 212         thread_join;
 213         thread_exit;
 214 
 215         tsd_get;
 216         tsd_set;
 217         tsd_create;
 218         tsd_destroy;
 219 
 220         tick_per_msec;


 221         tsignal;
 222         uiomove;
 223         uioskip;

 224         usec_per_tick;
 225         vcmn_err;
 226         vmem_qcache_reap;
 227         vpanic;

 228         zone0;
 229         zone_kcred;

 230         zthread_create;
 231         zthread_exit;
 232 
 233     local:
 234         *;
 235 };
   1 #
   2 # This file and its contents are supplied under the terms of the
   3 # Common Development and Distribution License ("CDDL"), version 1.0.
   4 # You may only use this file in accordance with the terms of version
   5 # 1.0 of the CDDL.
   6 #
   7 # A full copy of the text of the CDDL should have accompanied this
   8 # source.  A copy of the CDDL is also available via the Internet at
   9 # http://www.illumos.org/license/CDDL.
  10 #
  11 
  12 #
  13 # Copyright 2018 Nexenta Systems, Inc.  All rights reserved.
  14 # Copyright 2017 RackTop Systems.
  15 # Copyright 2018, Joyent, Inc.
  16 #
  17 
  18 #
  19 # MAPFILE HEADER START
  20 #
  21 # WARNING:  STOP NOW.  DO NOT MODIFY THIS FILE.
  22 # Object versioning must comply with the rules detailed in
  23 #
  24 #       usr/src/lib/README.mapfiles
  25 #
  26 # You should not be making modifications here until you've read the most current
  27 # copy of that file. If you need help, contact a gatekeeper for guidance.
  28 #
  29 # MAPFILE HEADER END
  30 #
  31 
  32 $mapfile_version 2
  33 
  34 SYMBOL_VERSION SUNWprivate_1.1 {
  35     global:
  36 
  37         _curcred;
  38         _curproc;
  39         _curthread;
  40         _curzone;
  41 
  42         aok             { FLAGS = NODIRECT };
  43         boot_time;
  44         cmn_err;
  45         copyin;
  46         copyinstr;
  47         copyout;
  48         copystr;
  49 
  50         cyclic_add;
  51         cyclic_remove;
  52         cyclic_reprogram;
  53 
  54         crfree;
  55         crgetsid;
  56         crgetuid;
  57         crgetruid;
  58         crgetgid;
  59         crgetngroups;
  60         crgetgroups;
  61         crgetzone;
  62         crgetzoneid;
  63         crhold;
  64 
  65         cv_broadcast;
  66         cv_destroy;
  67         cv_init;
  68         cv_reltimedwait;
  69         cv_reltimedwait_sig;
  70         cv_signal;
  71         cv_timedwait;
  72         cv_timedwait_sig;
  73         cv_timedwait_hires;
  74         cv_wait;
  75         cv_wait_sig;
  76 
  77         ddi_copyin;
  78         ddi_copyout;
  79         ddi_get_cred;
  80         ddi_get_lbolt64;
  81         ddi_get_lbolt;
  82         ddi_get_pid;
  83         ddi_strtoul;
  84         ddi_strtoull;
  85 
  86         debug_enter;
  87         delay;
  88 
  89         fm_panic;
  90 
  91         fakekernel_cprintf      { FLAGS = NODIRECT };
  92         fakekernel_init;
  93         fakekernel_putlog       { FLAGS = NODIRECT };
  94 
  95         gethrestime;
  96         gethrestime_sec;
  97         gethrtime_unscaled;
  98         global_audit_data;
  99 
 100         highbit;
 101         hrt2ts;
 102         hz;
 103 
 104         highbit64;
 105 
 106         issig;
 107 
 108         kcred;
 109         kiconv;
 110         kiconv_close;
 111         kiconv_open;
 112 
 113         kmem_alloc;
 114         kmem_asprintf;
 115         kmem_cache_alloc;
 116         kmem_cache_create;
 117         kmem_cache_destroy;
 118         kmem_cache_free;
 119         kmem_cache_reap_active;
 120         kmem_cache_reap_soon;
 121         kmem_cache_set_move;
 122         kmem_debugging;
 123         kmem_free;
 124         kmem_zalloc;
 125 
 126         kmutex_destroy;

 127         kmutex_enter;
 128         kmutex_exit;
 129         kmutex_init;
 130 
 131         ksema_destroy;
 132         ksema_init;
 133 
 134         ksid_lookupdomain;
 135         ksiddomain_rele;
 136 
 137         ksocket_accept;
 138         ksocket_bind;
 139         ksocket_bind_helper     { FLAGS = NODIRECT };
 140         ksocket_close;
 141         ksocket_connect;
 142         ksocket_getpeername;
 143         ksocket_getsockname;
 144         ksocket_hold;
 145         ksocket_ioctl;
 146         ksocket_listen;
 147         ksocket_recv;
 148         ksocket_recvfrom;
 149         ksocket_recvmsg;
 150         ksocket_rele;
 151         ksocket_send;
 152         ksocket_sendmsg;
 153         ksocket_sendto;
 154         ksocket_setsockopt;
 155         ksocket_shutdown;
 156         ksocket_socket;
 157 
 158         kstat_create;
 159         kstat_create_zone;

 160         kstat_delete;
 161         kstat_hold_byname;
 162         kstat_install;
 163         kstat_named_init;
 164         kstat_named_setstr;
 165         kstat_rele;
 166         kstat_runq_back_to_waitq;
 167         kstat_runq_enter;
 168         kstat_runq_enter_time;
 169         kstat_runq_exit;
 170         kstat_runq_exit_time;
 171         kstat_waitq_enter;
 172         kstat_waitq_enter_time;
 173         kstat_waitq_exit;
 174         kstat_waitq_exit_time;
 175         kstat_waitq_to_runq;

 176 
 177         msec_per_tick;
 178 
 179         mutex_owned;
 180         mutex_owner;
 181         mutex_tryenter;
 182 
 183         nsec_per_tick;
 184 
 185         ovbcopy;
 186         p0;
 187         panic;
 188         panicargs;
 189         panicstr;
 190 
 191         random_get_bytes;
 192         random_get_pseudo_bytes;
 193 
 194         rw_destroy;
 195         rw_downgrade;


 220         taskq_create;
 221         taskq_create_proc;
 222         taskq_create_sysdc;
 223         taskq_destroy;
 224         taskq_dispatch;
 225         taskq_dispatch_ent;
 226         taskq_empty;
 227         taskq_member;
 228         taskq_wait;
 229 
 230         thread_create;
 231         thread_join;
 232         thread_exit;
 233 
 234         tsd_get;
 235         tsd_set;
 236         tsd_create;
 237         tsd_destroy;
 238 
 239         tick_per_msec;
 240         timeout;
 241         ts2hrt;
 242         tsignal;
 243         uiomove;
 244         uioskip;
 245         untimeout;
 246         usec_per_tick;
 247         vcmn_err;
 248         vmem_qcache_reap;
 249         vpanic;
 250         vzprintf;
 251         zone0;
 252         zone_kcred;
 253         zprintf;
 254         zthread_create;
 255         zthread_exit;
 256 
 257     local:
 258         *;
 259 };