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

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/mntfs/mntvnops.c
          +++ new/usr/src/uts/common/fs/mntfs/mntvnops.c
↓ open down ↓ 844 lines elided ↑ open up ↑
 845  845           */
 846  846          if (flag & FWRITE)
 847  847                  return (EPERM);
 848  848          /*
 849  849           * Create a new mnt/vnode for each open, this will give us a handle to
 850  850           * hang the snapshot on.
 851  851           */
 852  852          nmnp = mntgetnode(vp);
 853  853  
 854  854          *vpp = MTOV(nmnp);
 855      -        atomic_add_32(&MTOD(nmnp)->mnt_nopen, 1);
      855 +        atomic_inc_32(&MTOD(nmnp)->mnt_nopen);
 856  856          VN_RELE(vp);
 857  857          return (0);
 858  858  }
 859  859  
 860  860  /* ARGSUSED */
 861  861  static int
 862  862  mntclose(vnode_t *vp, int flag, int count, offset_t offset, cred_t *cr,
 863  863          caller_context_t *ct)
 864  864  {
 865  865          mntnode_t *mnp = VTOM(vp);
↓ open down ↓ 2 lines elided ↑ open up ↑
 868  868          cleanlocks(vp, ttoproc(curthread)->p_pid, 0);
 869  869          cleanshares(vp, ttoproc(curthread)->p_pid);
 870  870  
 871  871          if (count > 1)
 872  872                  return (0);
 873  873          if (vp->v_count == 1) {
 874  874                  rw_enter(&mnp->mnt_contents, RW_WRITER);
 875  875                  mntfs_freesnap(mnp, &mnp->mnt_read);
 876  876                  mntfs_freesnap(mnp, &mnp->mnt_ioctl);
 877  877                  rw_exit(&mnp->mnt_contents);
 878      -                atomic_add_32(&MTOD(mnp)->mnt_nopen, -1);
      878 +                atomic_dec_32(&MTOD(mnp)->mnt_nopen);
 879  879          }
 880  880          return (0);
 881  881  }
 882  882  
 883  883  /* ARGSUSED */
 884  884  static int
 885  885  mntread(vnode_t *vp, uio_t *uio, int ioflag, cred_t *cred, caller_context_t *ct)
 886  886  {
 887  887          mntnode_t *mnp = VTOM(vp);
 888  888          zone_t *zonep = MTOD(mnp)->mnt_zone_ref.zref_zone;
↓ open down ↓ 1002 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX