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-9808 SMB3 persistent handles
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-9808 SMB3 persistent handles
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-5599 SMB needs a pointer-based hash table for durable handles
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-3620 need upstream cleanups for smbsrv
Reviewed by: Hans Rosenfeld <hans.rosenfeld@nexenta.com>
NEX-2460 libfksmbd should not link with libsmb
SMB-70 Hang during boot after SMB-50 (fix elfchk noise)
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>

@@ -8,33 +8,37 @@
  * source.  A copy of the CDDL is also available via the Internet at
  * http://www.illumos.org/license/CDDL.
  */
 
 /*
- * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
+ * Copyright 2017 Nexenta Systems, Inc.  All rights reserved.
  * Copyright 2017 RackTop Systems.
  */
 
 #include <sys/types.h>
 #include <sys/time.h>
 #include <sys/thread.h>
 #include <sys/proc.h>
 #include <sys/zone.h>
-
 #include <sys/poll.h>
 
+#include <errno.h>
 #include <time.h>
 #include <stdlib.h>
 #include <unistd.h>
+#include <string.h>
 #include <errno.h>
 
 #include <fakekernel.h>
 
 pri_t minclsyspri = 60;
+extern zone_t zone0;
 
 /* Some kernel code takes the address of this. */
-proc_t p0;
+proc_t p0 = {
+        .p_zone = &zone0, 0
+};
 
 proc_t *
 _curproc(void)
 {
         return (&p0);

@@ -90,22 +94,20 @@
 }
 
 int
 ddi_strtoul(const char *str, char **endp, int base, unsigned long *res)
 {
+        errno = 0;
         *res = strtoul(str, endp, base);
-        if (*res == 0)
                 return (errno);
-        return (0);
 }
 
 int
-ddi_strtoull(const char *str, char **nptr, int base, u_longlong_t *res)
+ddi_strtoull(const char *str, char **endp, int base, u_longlong_t *res)
 {
-        char *end;
-
-        *res = strtoull(str, &end, base);
+        errno = 0;
+        *res = strtoull(str, endp, base);
         if (*res == 0)
                 return (errno);
         return (0);
 }
 

@@ -115,10 +117,17 @@
         int msec = ticks;  /* NB: hz==1000 */
         (void) poll(0, 0, msec);
 }
 
 int
+highbit(ulong_t i)
+{
+        return (fls(i));
+}
+
+/* ARGSUSED */
+int
 issig(int why)
 {
         return (0);
 }