Print this page
NEX-4820 intended nbmand locking functionality is confused
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@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-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-3620 need upstream cleanups for smbsrv
Reviewed by: Hans Rosenfeld <hans.rosenfeld@nexenta.com>
NEX-2485 SMB authentication flood handled poorly
SUP-866 smbd lwps stuck in libsocket recv() for no apparent reason
SMB-74 Process oplock breaks as session requests
SMB-69 read-raw, write-raw are dead code
SMB-50 User-mode SMB server
 Includes work by these authors:
 Thomas Keiser <thomas.keiser@nexenta.com>
 Albert Lee <trisk@nexenta.com>
SUP-694 panic on bad mutex in smb_event_wait() - nits
SMB-65 SMB server in non-global zones (kmem_caches)
common kmem_cache instances across zones
separate GZ-only init from NGZ init
SMB-64 smbsrv workers run at excessively high priority
re #6811 rb1752 backport illumos 1603 smbsrv raw mode is ill-advised
        
*** 62,74 ****
   * with Windows NT4.0. Previous experiments with NT4.0 resulted in directory
   * listing problems so this buffer size is configurable based on the end-user
   * environment. When in doubt use 37KB.
   */
  int     smb_maxbufsize = SMB_NT_MAXBUF;
- int     smb_oplock_levelII = 1;
- int     smb_oplock_timeout = OPLOCK_STD_TIMEOUT;
- int     smb_oplock_min_timeout = OPLOCK_MIN_TIMEOUT;
  int     smb_flush_required = 1;
  int     smb_dirsymlink_enable = 1;
  int     smb_sign_debug = 0;
  int     smb_shortnames = 1;
  uint_t  smb_audit_flags =
--- 62,71 ----
*** 76,85 ****
--- 73,84 ----
      SMB_AUDIT_NODE;
  #else
      0;
  #endif
  
+ int smb_allow_advisory_locks = 0;       /* See smb_vops.c */
+ 
  /*
   * Maximum number of simultaneous authentication, share mapping, pipe open
   * requests to be processed.
   */
  int     smb_ssetup_threshold = SMB_AUTHSVC_MAXTHREAD;
*** 246,256 ****
  
  /* ARGSUSED */
  static int
  smb_drv_close(dev_t dev, int flag, int otyp, cred_t *credp)
  {
!         return (smb_server_delete());
  }
  
  /* ARGSUSED */
  static int
  smb_drv_ioctl(dev_t drv, int cmd, intptr_t argp, int flags, cred_t *cred,
--- 245,262 ----
  
  /* ARGSUSED */
  static int
  smb_drv_close(dev_t dev, int flag, int otyp, cred_t *credp)
  {
!         smb_server_t    *sv;
!         int             rc;
! 
!         rc = smb_server_lookup(&sv);
!         if (rc == 0)
!                 rc = smb_server_delete(sv);
! 
!         return (rc);
  }
  
  /* ARGSUSED */
  static int
  smb_drv_ioctl(dev_t drv, int cmd, intptr_t argp, int flags, cred_t *cred,