Deleted Added
full compact
vfs_extattr.c (22578) vfs_extattr.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_extattr.c 22578 1997-02-12 06:46:11Z mpp $
39 * $FreeBSD: head/sys/kern/vfs_extattr.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 ---