summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_acl.c
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2003-06-22 08:41:43 +0000
committerphk <phk@FreeBSD.org>2003-06-22 08:41:43 +0000
commitc81c59299bd255eb5ab7510c9e84e9c54b8003d0 (patch)
treec8262a3d430fc3cafab7fb6aec641ce293cd3361 /sys/kern/vfs_acl.c
parent4a223af282e5f60223c443ce3755f565f9db2465 (diff)
downloadFreeBSD-src-c81c59299bd255eb5ab7510c9e84e9c54b8003d0.zip
FreeBSD-src-c81c59299bd255eb5ab7510c9e84e9c54b8003d0.tar.gz
Add a f_vnode field to struct file.
Several of the subtypes have an associated vnode which is used for stuff like the f*() functions. By giving the vnode a speparate field, a number of checks for the specific subtype can be replaced simply with a check for f_vnode != NULL, and we can later free f_data up to subtype specific use. At this point in time, f_data still points to the vnode, so any code I might have overlooked will still work.
Diffstat (limited to 'sys/kern/vfs_acl.c')
-rw-r--r--sys/kern/vfs_acl.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/kern/vfs_acl.c b/sys/kern/vfs_acl.c
index d1bce92..5a60f78 100644
--- a/sys/kern/vfs_acl.c
+++ b/sys/kern/vfs_acl.c
@@ -781,7 +781,7 @@ __acl_get_fd(struct thread *td, struct __acl_get_fd_args *uap)
mtx_lock(&Giant);
error = getvnode(td->td_proc->p_fd, uap->filedes, &fp);
if (error == 0) {
- error = vacl_get_acl(td, fp->f_data, uap->type, uap->aclp);
+ error = vacl_get_acl(td, fp->f_vnode, uap->type, uap->aclp);
fdrop(fp, td);
}
mtx_unlock(&Giant);
@@ -802,7 +802,7 @@ __acl_set_fd(struct thread *td, struct __acl_set_fd_args *uap)
mtx_lock(&Giant);
error = getvnode(td->td_proc->p_fd, uap->filedes, &fp);
if (error == 0) {
- error = vacl_set_acl(td, fp->f_data, uap->type, uap->aclp);
+ error = vacl_set_acl(td, fp->f_vnode, uap->type, uap->aclp);
fdrop(fp, td);
}
mtx_unlock(&Giant);
@@ -867,7 +867,7 @@ __acl_delete_fd(struct thread *td, struct __acl_delete_fd_args *uap)
mtx_lock(&Giant);
error = getvnode(td->td_proc->p_fd, uap->filedes, &fp);
if (error == 0) {
- error = vacl_delete(td, fp->f_data, uap->type);
+ error = vacl_delete(td, fp->f_vnode, uap->type);
fdrop(fp, td);
}
mtx_unlock(&Giant);
@@ -932,7 +932,7 @@ __acl_aclcheck_fd(struct thread *td, struct __acl_aclcheck_fd_args *uap)
mtx_lock(&Giant);
error = getvnode(td->td_proc->p_fd, uap->filedes, &fp);
if (error == 0) {
- error = vacl_aclcheck(td, fp->f_data, uap->type, uap->aclp);
+ error = vacl_aclcheck(td, fp->f_vnode, uap->type, uap->aclp);
fdrop(fp, td);
}
mtx_unlock(&Giant);
OpenPOWER on IntegriCloud