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

@@ -1242,13 +1242,13 @@
         int filemode)
 {
         ASSERT(vp->v_type == VREG);
 
         if (filemode & FREAD)
-                atomic_add_32(&(vp->v_rdcnt), 1);
+                atomic_inc_32(&vp->v_rdcnt);
         if (filemode & FWRITE)
-                atomic_add_32(&(vp->v_wrcnt), 1);
+                atomic_inc_32(&vp->v_wrcnt);
 
 }
 
 void
 vn_open_downgrade(

@@ -1257,15 +1257,15 @@
 {
         ASSERT(vp->v_type == VREG);
 
         if (filemode & FREAD) {
                 ASSERT(vp->v_rdcnt > 0);
-                atomic_add_32(&(vp->v_rdcnt), -1);
+                atomic_dec_32(&vp->v_rdcnt);
         }
         if (filemode & FWRITE) {
                 ASSERT(vp->v_wrcnt > 0);
-                atomic_add_32(&(vp->v_wrcnt), -1);
+                atomic_dec_32(&vp->v_wrcnt);
         }
 
 }
 
 int

@@ -2916,11 +2916,11 @@
 u_longlong_t
 fs_new_caller_id()
 {
         static uint64_t next_caller_id = 0LL; /* First call returns 1 */
 
-        return ((u_longlong_t)atomic_add_64_nv(&next_caller_id, 1));
+        return ((u_longlong_t)atomic_inc_64_nv(&next_caller_id));
 }
 
 /*
  * Given a starting vnode and a path, updates the path in the target vnode in
  * a safe manner.  If the vnode already has path information embedded, then the

@@ -3144,13 +3144,13 @@
          *
          * The vnode counts are only kept on regular files
          */
         if ((*vpp)->v_type == VREG) {
                 if (mode & FREAD)
-                        atomic_add_32(&((*vpp)->v_rdcnt), 1);
+                        atomic_inc_32(&(*vpp)->v_rdcnt);
                 if (mode & FWRITE)
-                        atomic_add_32(&((*vpp)->v_wrcnt), 1);
+                        atomic_inc_32(&(*vpp)->v_wrcnt);
         }
 
         VOPXID_MAP_CR(vp, cr);
 
         ret = (*(*(vpp))->v_op->vop_open)(vpp, mode, cr, ct);

@@ -3160,13 +3160,13 @@
                  * Use the saved vp just in case the vnode ptr got trashed
                  * by the error.
                  */
                 VOPSTATS_UPDATE(vp, open);
                 if ((vp->v_type == VREG) && (mode & FREAD))
-                        atomic_add_32(&(vp->v_rdcnt), -1);
+                        atomic_dec_32(&vp->v_rdcnt);
                 if ((vp->v_type == VREG) && (mode & FWRITE))
-                        atomic_add_32(&(vp->v_wrcnt), -1);
+                        atomic_dec_32(&vp->v_wrcnt);
         } else {
                 /*
                  * Some filesystems will return a different vnode,
                  * but the same path was still used to open it.
                  * So if we do change the vnode and need to

@@ -3176,17 +3176,17 @@
                  */
                 VOPSTATS_UPDATE(*vpp, open);
                 if (*vpp != vp && *vpp != NULL) {
                         vn_copypath(vp, *vpp);
                         if (((*vpp)->v_type == VREG) && (mode & FREAD))
-                                atomic_add_32(&((*vpp)->v_rdcnt), 1);
+                                atomic_inc_32(&(*vpp)->v_rdcnt);
                         if ((vp->v_type == VREG) && (mode & FREAD))
-                                atomic_add_32(&(vp->v_rdcnt), -1);
+                                atomic_dec_32(&vp->v_rdcnt);
                         if (((*vpp)->v_type == VREG) && (mode & FWRITE))
-                                atomic_add_32(&((*vpp)->v_wrcnt), 1);
+                                atomic_inc_32(&(*vpp)->v_wrcnt);
                         if ((vp->v_type == VREG) && (mode & FWRITE))
-                                atomic_add_32(&(vp->v_wrcnt), -1);
+                                atomic_dec_32(&vp->v_wrcnt);
                 }
         }
         VN_RELE(vp);
         return (ret);
 }

@@ -3211,15 +3211,15 @@
          * kept on regular files
          */
         if ((vp->v_type == VREG) && (count == 1))  {
                 if (flag & FREAD) {
                         ASSERT(vp->v_rdcnt > 0);
-                        atomic_add_32(&(vp->v_rdcnt), -1);
+                        atomic_dec_32(&vp->v_rdcnt);
                 }
                 if (flag & FWRITE) {
                         ASSERT(vp->v_wrcnt > 0);
-                        atomic_add_32(&(vp->v_wrcnt), -1);
+                        atomic_dec_32(&vp->v_wrcnt);
                 }
         }
         return (err);
 }