Deleted Added
full compact
vfs_cache.c (51906) vfs_cache.c (57199)
1/*
2 * Copyright (c) 1989, 1993, 1995
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * Poul-Henning Kamp of the FreeBSD Project.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 20 unchanged lines hidden (view full) ---

29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
36 * @(#)vfs_cache.c 8.5 (Berkeley) 3/22/95
1/*
2 * Copyright (c) 1989, 1993, 1995
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * Poul-Henning Kamp of the FreeBSD Project.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 20 unchanged lines hidden (view full) ---

29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
36 * @(#)vfs_cache.c 8.5 (Berkeley) 3/22/95
37 * $FreeBSD: head/sys/kern/vfs_cache.c 51906 1999-10-03 12:18:29Z phk $
37 * $FreeBSD: head/sys/kern/vfs_cache.c 57199 2000-02-14 06:09:01Z peter $
38 */
39
40#include <sys/param.h>
41#include <sys/systm.h>
42#include <sys/kernel.h>
43#include <sys/sysctl.h>
44#include <sys/mount.h>
45#include <sys/vnode.h>

--- 484 unchanged lines hidden (view full) ---

530 uap->buflen = MAXPATHLEN;
531 buf = bp = malloc(uap->buflen, M_TEMP, M_WAITOK);
532 bp += uap->buflen - 1;
533 *bp = '\0';
534 fdp = p->p_fd;
535 slash_prefixed = 0;
536 for (vp = fdp->fd_cdir; vp != fdp->fd_rdir && vp != rootvnode;) {
537 if (vp->v_flag & VROOT) {
38 */
39
40#include <sys/param.h>
41#include <sys/systm.h>
42#include <sys/kernel.h>
43#include <sys/sysctl.h>
44#include <sys/mount.h>
45#include <sys/vnode.h>

--- 484 unchanged lines hidden (view full) ---

530 uap->buflen = MAXPATHLEN;
531 buf = bp = malloc(uap->buflen, M_TEMP, M_WAITOK);
532 bp += uap->buflen - 1;
533 *bp = '\0';
534 fdp = p->p_fd;
535 slash_prefixed = 0;
536 for (vp = fdp->fd_cdir; vp != fdp->fd_rdir && vp != rootvnode;) {
537 if (vp->v_flag & VROOT) {
538 if (vp->v_mount == NULL) /* forced unmount */
539 return (EBADF);
538 vp = vp->v_mount->mnt_vnodecovered;
539 continue;
540 }
541 if (vp->v_dd->v_id != vp->v_ddid) {
542 numcwdfail1++;
543 free(buf, M_TEMP);
544 return (ENOTDIR);
545 }

--- 42 unchanged lines hidden ---
540 vp = vp->v_mount->mnt_vnodecovered;
541 continue;
542 }
543 if (vp->v_dd->v_id != vp->v_ddid) {
544 numcwdfail1++;
545 free(buf, M_TEMP);
546 return (ENOTDIR);
547 }

--- 42 unchanged lines hidden ---