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);