Print this page
NEX-3758 Support for remote stale lock detection
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>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/sys/flock.h
          +++ new/usr/src/uts/common/sys/flock.h
↓ open down ↓ 11 lines elided ↑ open up ↑
  12   12   * and limitations under the License.
  13   13   *
  14   14   * When distributing Covered Code, include this CDDL HEADER in each
  15   15   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16   16   * If applicable, add the following below this CDDL HEADER, with the
  17   17   * fields enclosed by brackets "[]" replaced with your own identifying
  18   18   * information: Portions Copyright [yyyy] [name of copyright owner]
  19   19   *
  20   20   * CDDL HEADER END
  21   21   */
       22 +
       23 +/*
       24 + * Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
       25 + */
       26 +
  22   27  /*      Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
  23   28  /*        All Rights Reserved   */
  24   29  
  25   30  
  26   31  /*
  27   32   * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
  28   33   * Use is subject to license terms.
  29   34   */
  30   35  /*
  31   36   * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
↓ open down ↓ 229 lines elided ↑ open up ↑
 261  266  
 262  267  void    *flk_zone_init(zoneid_t);
 263  268  void    flk_zone_fini(zoneid_t, void *);
 264  269  
 265  270  /* Clustering hooks */
 266  271  void    cl_flk_set_nlm_status(int nlmid, flk_nlm_status_t nlm_state);
 267  272  void    cl_flk_remove_locks_by_sysid(int sysid);
 268  273  int     cl_flk_has_remote_locks_for_nlmid(struct vnode *vp, int nlmid);
 269  274  void    cl_flk_change_nlm_state_to_unknown(int nlmid);
 270  275  void    cl_flk_delete_pxfs_locks(struct vfs *vfsp, int pxfsid);
      276 +
      277 +/* Support for the remote stale lock detection */
      278 +struct sockaddr;
      279 +
      280 +typedef int (*sysid_to_host_translator_t)(zoneid_t, sysid_t, struct sockaddr *,
      281 +    const char **);
      282 +
      283 +void    flk_add_sysid_to_host_translator(sysid_to_host_translator_t);
 271  284  #endif /* _KERNEL */
 272  285  
 273  286  #ifdef  __cplusplus
 274  287  }
 275  288  #endif
 276  289  
 277  290  #endif  /* _SYS_FLOCK_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX