Print this page
5045 use atomic_{inc,dec}_* instead of atomic_add_*

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/sharefs/sharefs_vnops.c
          +++ new/usr/src/uts/common/fs/sharefs/sharefs_vnops.c
↓ open down ↓ 16 lines elided ↑ open up ↑
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  
  22   22  /*
  23   23   * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  24   24   * Use is subject to license terms.
  25   25   */
  26   26  
  27      -#pragma ident   "%Z%%M% %I%     %E% SMI"
  28      -
  29   27  #include <fs/fs_subr.h>
  30   28  
  31   29  #include <sys/errno.h>
  32   30  #include <sys/file.h>
  33   31  #include <sys/kmem.h>
  34   32  #include <sys/kobj.h>
  35   33  #include <sys/cmn_err.h>
  36   34  #include <sys/stat.h>
  37   35  #include <sys/systm.h>
  38   36  #include <sys/sysmacros.h>
↓ open down ↓ 207 lines elided ↑ open up ↑
 246  244  
 247  245          *vpp = vp;
 248  246          VN_RELE(ovp);
 249  247  
 250  248          sft = VTOSH(vp);
 251  249  
 252  250          /*
 253  251           * No need for the lock, no other thread can be accessing
 254  252           * this data structure.
 255  253           */
 256      -        atomic_add_32(&sft->sharefs_refs, 1);
      254 +        atomic_inc_32(&sft->sharefs_refs);
 257  255          sft->sharefs_real_vp = 0;
 258  256  
 259  257          /*
 260  258           * Since the sharetab could easily change on us whilst we
 261  259           * are dumping an extremely huge sharetab, we make a copy
 262  260           * of it here and use it to dump instead.
 263  261           */
 264  262          error = sharefs_snap_create(sft);
 265  263  
 266  264          return (error);
↓ open down ↓ 11 lines elided ↑ open up ↑
 278  276  
 279  277          rw_enter(&sharefs_lock, RW_WRITER);
 280  278          if (vp->v_count == 1) {
 281  279                  if (sft->sharefs_snap != NULL) {
 282  280                          kmem_free(sft->sharefs_snap, sft->sharefs_size + 1);
 283  281                          sft->sharefs_size = 0;
 284  282                          sft->sharefs_snap = NULL;
 285  283                          sft->sharefs_generation = 0;
 286  284                  }
 287  285          }
 288      -        atomic_add_32(&sft->sharefs_refs, -1);
      286 +        atomic_dec_32(&sft->sharefs_refs);
 289  287          rw_exit(&sharefs_lock);
 290  288  
 291  289          return (0);
 292  290  }
 293  291  
 294  292  /* ARGSUSED */
 295  293  static int
 296  294  sharefs_read(vnode_t *vp, uio_t *uio, int ioflag, cred_t *cr,
 297  295                          caller_context_t *ct)
 298  296  {
↓ open down ↓ 88 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX