Print this page
8901 netstack_find_by_stackid() drops-and-reacquires
Reviewed by: Jason King <jbk@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Ryan Zezeski <rpz@joyent.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/sys/netstack.h
          +++ new/usr/src/uts/common/sys/netstack.h
↓ open down ↓ 17 lines elided ↑ open up ↑
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  
  22   22  /*
  23   23   * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  24   24   * Use is subject to license terms.
  25   25   */
  26   26  
  27   27  /*
  28      - * Copyright (c) 2016, Joyent, Inc. All rights reserved.
       28 + * Copyright (c) 2017, Joyent, Inc. All rights reserved.
  29   29   */
  30   30  
  31   31  #ifndef _SYS_NETSTACK_H
  32   32  #define _SYS_NETSTACK_H
  33   33  
  34   34  #include <sys/kstat.h>
  35   35  #include <sys/cred.h>
  36   36  #include <sys/mutex.h>
  37   37  
  38   38  #ifdef  __cplusplus
↓ open down ↓ 190 lines elided ↑ open up ↑
 229  229  
 230  230  /*
 231  231   * To support kstat_create_netstack() using kstat_add_zone we need
 232  232   * to track both
 233  233   *  - all zoneids that use the global/shared stack
 234  234   *  - all kstats that have been added for the shared stack
 235  235   */
 236  236  
 237  237  extern void netstack_init(void);
 238  238  extern void netstack_hold(netstack_t *);
      239 +extern netstack_t *netstack_hold_if_active(netstack_t *);
 239  240  extern void netstack_rele(netstack_t *);
 240  241  extern netstack_t *netstack_find_by_cred(const cred_t *);
 241  242  extern netstack_t *netstack_find_by_stackid(netstackid_t);
 242  243  extern netstack_t *netstack_find_by_zoneid(zoneid_t);
 243  244  extern boolean_t netstack_inuse_by_stackid(netstackid_t stackid);
 244  245  
 245  246  extern zoneid_t netstackid_to_zoneid(netstackid_t);
 246  247  extern zoneid_t netstack_get_zoneid(netstack_t *);
 247  248  extern netstackid_t zoneid_to_netstackid(zoneid_t);
 248  249  
↓ open down ↓ 37 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX