diff options
author | kib <kib@FreeBSD.org> | 2007-05-31 11:51:53 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2007-05-31 11:51:53 +0000 |
commit | f13486a2227b9165fce30aa40d12b728f327a909 (patch) | |
tree | d5e88e86417c996e0e901ce9a43de8d9ae3ad44e /sys/fs/unionfs/union_vnops.c | |
parent | 7f276f0bff169823b786ea0a9bbdfe936361fcb4 (diff) | |
download | FreeBSD-src-f13486a2227b9165fce30aa40d12b728f327a909.zip FreeBSD-src-f13486a2227b9165fce30aa40d12b728f327a909.tar.gz |
Revert UF_OPENING workaround for CURRENT.
Change the VOP_OPEN(), vn_open() vnode operation and d_fdopen() cdev operation
argument from being file descriptor index into the pointer to struct file.
Proposed and reviewed by: jhb
Reviewed by: daichi (unionfs)
Approved by: re (kensmith)
Diffstat (limited to 'sys/fs/unionfs/union_vnops.c')
-rw-r--r-- | sys/fs/unionfs/union_vnops.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/fs/unionfs/union_vnops.c b/sys/fs/unionfs/union_vnops.c index 134fe1c..fbce59d 100644 --- a/sys/fs/unionfs/union_vnops.c +++ b/sys/fs/unionfs/union_vnops.c @@ -475,13 +475,13 @@ unionfs_open(struct vop_open_args *ap) targetvp = uvp; } - error = VOP_OPEN(targetvp, ap->a_mode, cred, td, ap->a_fdidx); + error = VOP_OPEN(targetvp, ap->a_mode, cred, td, ap->a_fp); if (error == 0) { if (targetvp == uvp) { if (uvp->v_type == VDIR && lvp != NULLVP && unsp->uns_lower_opencnt <= 0) { /* open lower for readdir */ - error = VOP_OPEN(lvp, FREAD, cred, td, -1); + error = VOP_OPEN(lvp, FREAD, cred, td, NULL); if (error != 0) { VOP_CLOSE(uvp, ap->a_mode, cred, td); goto unionfs_open_abort; @@ -493,7 +493,6 @@ unionfs_open(struct vop_open_args *ap) } else { unsp->uns_lower_opencnt++; unsp->uns_lower_openmode = ap->a_mode; - unsp->uns_lower_fdidx = ap->a_fdidx; } ap->a_vp->v_object = targetvp->v_object; } @@ -1852,7 +1851,8 @@ unionfs_advlock(struct vop_advlock_args *ap) unionfs_get_node_status(unp, td, &unsp); if (unsp->uns_lower_opencnt > 0) { /* try reopen the vnode */ - error = VOP_OPEN(uvp, unsp->uns_lower_openmode, td->td_ucred, td, unsp->uns_lower_fdidx); + error = VOP_OPEN(uvp, unsp->uns_lower_openmode, + td->td_ucred, td, NULL); if (error) goto unionfs_advlock_abort; unsp->uns_upper_opencnt++; |