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

*** 4329,4339 **** * Increments the vfs reference count by one atomically. */ void vfs_hold(vfs_t *vfsp) { ! atomic_add_32(&vfsp->vfs_count, 1); ASSERT(vfsp->vfs_count != 0); } /* * Decrements the vfs reference count by one atomically. When --- 4329,4339 ---- * Increments the vfs reference count by one atomically. */ void vfs_hold(vfs_t *vfsp) { ! atomic_inc_32(&vfsp->vfs_count); ASSERT(vfsp->vfs_count != 0); } /* * Decrements the vfs reference count by one atomically. When
*** 4342,4352 **** */ void vfs_rele(vfs_t *vfsp) { ASSERT(vfsp->vfs_count != 0); ! if (atomic_add_32_nv(&vfsp->vfs_count, -1) == 0) { VFS_FREEVFS(vfsp); lofi_remove(vfsp); if (vfsp->vfs_zone) zone_rele_ref(&vfsp->vfs_implp->vi_zone_ref, ZONE_REF_VFS); --- 4342,4352 ---- */ void vfs_rele(vfs_t *vfsp) { ASSERT(vfsp->vfs_count != 0); ! if (atomic_dec_32_nv(&vfsp->vfs_count) == 0) { VFS_FREEVFS(vfsp); lofi_remove(vfsp); if (vfsp->vfs_zone) zone_rele_ref(&vfsp->vfs_implp->vi_zone_ref, ZONE_REF_VFS);