-STATIC int
-linvfs_setattr_flags(
- vattr_t *vap,
- unsigned int flags)
-{
- unsigned int oldflags, newflags;
-
- oldflags = vap->va_xflags;
- newflags = oldflags & ~(XFS_XFLAG_IMMUTABLE |
- XFS_XFLAG_IUNLINK | XFS_XFLAG_BARRIER);
- if (flags & ATTR_FLAG_IMMUTABLE)
- newflags |= XFS_XFLAG_IMMUTABLE;
- if (flags & ATTR_FLAG_IUNLINK)
- newflags |= XFS_XFLAG_IUNLINK;
- if (flags & ATTR_FLAG_BARRIER)
- newflags |= XFS_XFLAG_BARRIER;
-
- if (oldflags ^ newflags)
- vap->va_xflags = newflags;
- return 0;
-}
-