Module Name:    src
Committed By:   hannken
Date:           Sun May 25 14:07:19 UTC 2014

Modified Files:
        src/sys/ufs/ext2fs: ext2fs_extern.h ext2fs_lookup.c

Log Message:
Remove ext2fs_checkpath().  It is a relic from the pre-genfs_rename era.


To generate a diff of this commit:
cvs rdiff -u -r1.46 -r1.47 src/sys/ufs/ext2fs/ext2fs_extern.h
cvs rdiff -u -r1.75 -r1.76 src/sys/ufs/ext2fs/ext2fs_lookup.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/ufs/ext2fs/ext2fs_extern.h
diff -u src/sys/ufs/ext2fs/ext2fs_extern.h:1.46 src/sys/ufs/ext2fs/ext2fs_extern.h:1.47
--- src/sys/ufs/ext2fs/ext2fs_extern.h:1.46	Wed Nov 21 23:11:23 2012
+++ src/sys/ufs/ext2fs/ext2fs_extern.h	Sun May 25 14:07:19 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: ext2fs_extern.h,v 1.46 2012/11/21 23:11:23 jakllsch Exp $	*/
+/*	$NetBSD: ext2fs_extern.h,v 1.47 2014/05/25 14:07:19 hannken Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993, 1994
@@ -128,7 +128,6 @@ int ext2fs_dirremove(struct vnode *, con
 int ext2fs_dirrewrite(struct inode *, const struct ufs_lookup_results *,
 			   struct inode *, struct componentname *);
 int ext2fs_dirempty(struct inode *, ino_t, kauth_cred_t);
-int ext2fs_checkpath(struct inode *, struct inode *, kauth_cred_t);
 
 /* ext2fs_subr.c */
 int ext2fs_blkatoff(struct vnode *, off_t, char **, struct buf **);

Index: src/sys/ufs/ext2fs/ext2fs_lookup.c
diff -u src/sys/ufs/ext2fs/ext2fs_lookup.c:1.75 src/sys/ufs/ext2fs/ext2fs_lookup.c:1.76
--- src/sys/ufs/ext2fs/ext2fs_lookup.c:1.75	Thu May  8 08:21:53 2014
+++ src/sys/ufs/ext2fs/ext2fs_lookup.c	Sun May 25 14:07:19 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: ext2fs_lookup.c,v 1.75 2014/05/08 08:21:53 hannken Exp $	*/
+/*	$NetBSD: ext2fs_lookup.c,v 1.76 2014/05/25 14:07:19 hannken Exp $	*/
 
 /*
  * Modified for NetBSD 1.2E
@@ -48,7 +48,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ext2fs_lookup.c,v 1.75 2014/05/08 08:21:53 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ext2fs_lookup.c,v 1.76 2014/05/25 14:07:19 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -985,70 +985,3 @@ ext2fs_dirempty(struct inode *ip, ino_t 
 	}
 	return (1);
 }
-
-/*
- * Check if source directory is in the path of the target directory.
- * Target is supplied locked, source is unlocked.
- * The target is always vput before returning.
- */
-int
-ext2fs_checkpath(struct inode *source, struct inode *target,
-	kauth_cred_t cred)
-{
-	struct vnode *vp;
-	int error, rootino, namlen;
-	struct ext2fs_dirtemplate dirbuf;
-	uint32_t ino;
-
-	vp = ITOV(target);
-	if (target->i_number == source->i_number) {
-		error = EEXIST;
-		goto out;
-	}
-	rootino = UFS_ROOTINO;
-	error = 0;
-	if (target->i_number == rootino)
-		goto out;
-
-	for (;;) {
-		if (vp->v_type != VDIR) {
-			error = ENOTDIR;
-			break;
-		}
-		error = vn_rdwr(UIO_READ, vp, (void *)&dirbuf,
-			sizeof (struct ext2fs_dirtemplate), (off_t)0,
-			UIO_SYSSPACE, IO_NODELOCKED, cred, (size_t *)0,
-			NULL);
-		if (error != 0)
-			break;
-		namlen = dirbuf.dotdot_namlen;
-		if (namlen != 2 ||
-			dirbuf.dotdot_name[0] != '.' ||
-			dirbuf.dotdot_name[1] != '.') {
-			error = ENOTDIR;
-			break;
-		}
-		ino = fs2h32(dirbuf.dotdot_ino);
-		if (ino == source->i_number) {
-			error = EINVAL;
-			break;
-		}
-		if (ino == rootino)
-			break;
-		vput(vp);
-		error = VFS_VGET(vp->v_mount, ino, &vp);
-		if (error != 0) {
-			vp = NULL;
-			break;
-		}
-	}
-
-out:
-	if (error == ENOTDIR) {
-		printf("checkpath: .. not a directory\n");
-		panic("checkpath");
-	}
-	if (vp != NULL)
-		vput(vp);
-	return (error);
-}

Reply via email to