table of contents
VOP_ATTRIB(9) | Kernel Developer's Manual | VOP_ATTRIB(9) |
NAME¶
VOP_GETATTR
, VOP_SETATTR
—
SYNOPSIS¶
#include <sys/param.h>
#include <sys/vnode.h>
int
VOP_GETATTR
(struct
vnode *vp, struct vattr
*vap, struct ucred
*cred);
int
VOP_SETATTR
(struct
vnode *vp, struct vattr
*vap, struct ucred
*cred);
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.
RETURN VALUES¶
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¶
SEE ALSO¶
VFS(9), vnode(9), VOP_ACCESS(9)AUTHORS¶
This manual page was written by Doug Rabson.August 29, 2008 | Linux 4.19.0-10-amd64 |