vfs_syscalls.c (22578) | vfs_syscalls.c (22582) |
---|---|
1/* 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * (c) UNIX System Laboratories, Inc. 5 * All or some portions of this file are derived from material licensed 6 * to the University of California by American Telephone and Telegraph 7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 8 * the permission of UNIX System Laboratories, Inc. --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)vfs_syscalls.c 8.13 (Berkeley) 4/15/94 | 1/* 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * (c) UNIX System Laboratories, Inc. 5 * All or some portions of this file are derived from material licensed 6 * to the University of California by American Telephone and Telegraph 7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 8 * the permission of UNIX System Laboratories, Inc. --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)vfs_syscalls.c 8.13 (Berkeley) 4/15/94 |
39 * $FreeBSD: head/sys/kern/vfs_syscalls.c 22578 1997-02-12 06:46:11Z mpp $ | 39 * $FreeBSD: head/sys/kern/vfs_syscalls.c 22582 1997-02-12 07:54:22Z mpp $ |
40 */ 41 42/* 43 * XXX - The following is required because of some magic done 44 * in getdirentries() below which is only done if the translucent 45 * filesystem `UNION' is compiled into the kernel. This is broken, 46 * but I don't have time to study the code deeply enough to understand 47 * what's going on and determine an appropriate fix. -GAW --- 12 unchanged lines hidden (view full) --- 60#include <sys/unistd.h> 61#include <sys/vnode.h> 62#include <sys/mount.h> 63#include <sys/proc.h> 64#include <sys/uio.h> 65#include <sys/malloc.h> 66#include <sys/dirent.h> 67 | 40 */ 41 42/* 43 * XXX - The following is required because of some magic done 44 * in getdirentries() below which is only done if the translucent 45 * filesystem `UNION' is compiled into the kernel. This is broken, 46 * but I don't have time to study the code deeply enough to understand 47 * what's going on and determine an appropriate fix. -GAW --- 12 unchanged lines hidden (view full) --- 60#include <sys/unistd.h> 61#include <sys/vnode.h> 62#include <sys/mount.h> 63#include <sys/proc.h> 64#include <sys/uio.h> 65#include <sys/malloc.h> 66#include <sys/dirent.h> 67 |
68/* see if this is needed XXX JH | |
69#ifdef UNION 70#include <miscfs/union/union.h> 71#endif | 68#ifdef UNION 69#include <miscfs/union/union.h> 70#endif |
72*/ | |
73 74#include <vm/vm.h> 75#include <vm/vm_param.h> 76#include <vm/vm_object.h> 77#include <vm/vm_extern.h> 78#include <sys/sysctl.h> 79 80static int change_dir __P((struct nameidata *ndp, struct proc *p)); --- 2412 unchanged lines hidden (view full) --- 2493 FREE(dirbuf, M_TEMP); 2494 } 2495 VOP_UNLOCK(vp, 0, p); 2496 if (error) 2497 return (error); 2498 2499#ifdef UNION 2500{ | 71 72#include <vm/vm.h> 73#include <vm/vm_param.h> 74#include <vm/vm_object.h> 75#include <vm/vm_extern.h> 76#include <sys/sysctl.h> 77 78static int change_dir __P((struct nameidata *ndp, struct proc *p)); --- 2412 unchanged lines hidden (view full) --- 2491 FREE(dirbuf, M_TEMP); 2492 } 2493 VOP_UNLOCK(vp, 0, p); 2494 if (error) 2495 return (error); 2496 2497#ifdef UNION 2498{ |
2501 extern int (**union_vnodeop_p)(); 2502 extern struct vnode *union_dircache __P((struct vnode*, struct proc*)); 2503 | |
2504 if ((SCARG(uap, count) == auio.uio_resid) && 2505 (vp->v_op == union_vnodeop_p)) { 2506 struct vnode *lvp; 2507 2508 lvp = union_dircache(vp, p); 2509 if (lvp != NULLVP) { 2510 struct vattr va; 2511 --- 95 unchanged lines hidden (view full) --- 2607 error = VOP_READDIR(vp, &auio, fp->f_cred, &eofflag, NULL, NULL); 2608 fp->f_offset = auio.uio_offset; 2609 VOP_UNLOCK(vp, 0, p); 2610 if (error) 2611 return (error); 2612 2613#ifdef UNION 2614{ | 2499 if ((SCARG(uap, count) == auio.uio_resid) && 2500 (vp->v_op == union_vnodeop_p)) { 2501 struct vnode *lvp; 2502 2503 lvp = union_dircache(vp, p); 2504 if (lvp != NULLVP) { 2505 struct vattr va; 2506 --- 95 unchanged lines hidden (view full) --- 2602 error = VOP_READDIR(vp, &auio, fp->f_cred, &eofflag, NULL, NULL); 2603 fp->f_offset = auio.uio_offset; 2604 VOP_UNLOCK(vp, 0, p); 2605 if (error) 2606 return (error); 2607 2608#ifdef UNION 2609{ |
2615 extern int (**union_vnodeop_p)(); 2616 extern struct vnode *union_dircache __P((struct vnode*, struct proc*)); 2617 | |
2618 if ((SCARG(uap, count) == auio.uio_resid) && 2619 (vp->v_op == union_vnodeop_p)) { 2620 struct vnode *lvp; 2621 2622 lvp = union_dircache(vp, p); 2623 if (lvp != NULLVP) { 2624 struct vattr va; 2625 --- 129 unchanged lines hidden --- | 2610 if ((SCARG(uap, count) == auio.uio_resid) && 2611 (vp->v_op == union_vnodeop_p)) { 2612 struct vnode *lvp; 2613 2614 lvp = union_dircache(vp, p); 2615 if (lvp != NULLVP) { 2616 struct vattr va; 2617 --- 129 unchanged lines hidden --- |