SYNOPSIS

DESCRIPTION

These entry points manipulate various attributes of a file or directory,
including file permissions, owner, group, size, access time and
modification time.
The arguments are:
vp The vnode of the file.
vap The attributes of the file.
cred The user credentials of the calling process.
Attributes which are not being modified by VOP_SETATTR() should be set to
the value VNOVAL; VATTR_NULL() may be used to clear all the values, and
should generally be used to reset the contents of *vap prior to setting
specific values.

LOCKS

VOP_GETATTR() expects the vnode to be locked on entry and will leave the
vnode locked on return. The lock type can be either shared or exclusive.
VOP_SETATTR() expects the vnode to be locked on entry and will leave the
vnode locked on return. The lock type must be exclusive.

RETURNVALUES

VOP_GETATTR() returns 0 if it was able to retrieve the attribute data via
*vap, otherwise an appropriate error is returned. VOP_SETATTR() returns
zero if the attributes were changed successfully, otherwise an
appropriate error is returned.

ERRORS

[EPERM] The file is immutable.
[EACCES] The caller does not have permission to modify the file
or directory attributes.
[EROFS] The file system is read-only.