SCCS-vsn: sys/kern/vfs_syscalls.c 8.28
*
* %sccs.include.redist.c%
*
*
* %sccs.include.redist.c%
*
- * @(#)vfs_syscalls.c 8.27 (Berkeley) %G%
+ * @(#)vfs_syscalls.c 8.28 (Berkeley) %G%
*/
#include <sys/param.h>
*/
#include <sys/param.h>
vrele(fdp->fd_cdir);
VREF(newdp);
fdp->fd_cdir = newdp;
vrele(fdp->fd_cdir);
VREF(newdp);
fdp->fd_cdir = newdp;
- printf("patch cdir for proc %d\n", p->p_pid);
}
if (fdp->fd_rdir == olddp) {
vrele(fdp->fd_rdir);
}
if (fdp->fd_rdir == olddp) {
vrele(fdp->fd_rdir);
#ifdef UNION
{
extern int (**union_vnodeop_p)();
#ifdef UNION
{
extern int (**union_vnodeop_p)();
- extern struct vnode *union_lowervp __P((struct vnode *));
+ extern struct vnode *union_dircache __P((struct vnode *));
if ((uap->count == auio.uio_resid) &&
(vp->v_op == union_vnodeop_p)) {
struct vnode *lvp;
if ((uap->count == auio.uio_resid) &&
(vp->v_op == union_vnodeop_p)) {
struct vnode *lvp;
- lvp = union_lowervp(vp);
+ lvp = union_dircache(vp);
if (lvp != NULLVP) {
struct vattr va;
if (lvp != NULLVP) {
struct vattr va;
*/
error = VOP_GETATTR(vp, &va, fp->f_cred, p);
if (va.va_flags & OPAQUE) {
*/
error = VOP_GETATTR(vp, &va, fp->f_cred, p);
if (va.va_flags & OPAQUE) {
lvp = NULL;
}
}
if (lvp != NULLVP) {
lvp = NULL;
}
}
if (lvp != NULLVP) {
error = VOP_OPEN(lvp, FREAD, fp->f_cred, p);
VOP_UNLOCK(lvp);
error = VOP_OPEN(lvp, FREAD, fp->f_cred, p);
VOP_UNLOCK(lvp);
#ifdef UNION
{
extern int (**union_vnodeop_p)();
#ifdef UNION
{
extern int (**union_vnodeop_p)();
- extern struct vnode *union_lowervp __P((struct vnode *));
+ extern struct vnode *union_dircache __P((struct vnode *));
if ((uap->count == auio.uio_resid) &&
(vp->v_op == union_vnodeop_p)) {
struct vnode *lvp;
if ((uap->count == auio.uio_resid) &&
(vp->v_op == union_vnodeop_p)) {
struct vnode *lvp;
- lvp = union_lowervp(vp);
+ lvp = union_dircache(vp);
if (lvp != NULLVP) {
struct vattr va;
if (lvp != NULLVP) {
struct vattr va;
*/
error = VOP_GETATTR(vp, &va, fp->f_cred, p);
if (va.va_flags & OPAQUE) {
*/
error = VOP_GETATTR(vp, &va, fp->f_cred, p);
if (va.va_flags & OPAQUE) {
lvp = NULL;
}
}
if (lvp != NULLVP) {
lvp = NULL;
}
}
if (lvp != NULLVP) {
error = VOP_OPEN(lvp, FREAD, fp->f_cred, p);
VOP_UNLOCK(lvp);
error = VOP_OPEN(lvp, FREAD, fp->f_cred, p);
VOP_UNLOCK(lvp);